[ADD]sh_survey_all_in_one #1

Merged
elabore_bot merged 1 commits from sh_survey_all_in_one into 16.0 2026-01-23 10:34:11 +00:00
271 changed files with 16930 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
About
============
A survey is a method to collect data from various people to gain information on different topics. The survey can be useful for multiple purposes. We have created this app to make odoo survey module more useful. Our module provides survey with many addition fields options and different theme styles. We provide 5 unique theme styles for survey so you can use different theme for different survey. You can create attractive and clean survey forms with no effort so you can easily create survey using this module. We provide 20+ additional fields for survey.
Installation
============
1) Copy module files to addon folder.
2) Restart odoo service (sudo service odoo-server restart).
3) Go to your odoo instance and open apps (make sure to activate debug mode).
4) click on update app list.
5) search module name and hit install button.
Any Problem with module?
=====================================
Please create your ticket here https://softhealer.com/support
Softhealer Technologies Doubt/Inquiry/Sales/Customization Team
=====================================
Skype: live:softhealertechnologies
What's app: +917984575681
E-Mail: support@softhealer.com
Website: https://softhealer.com

View File

@@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Softhealer Technologies.
from . import sh_survmate_theme
from . import sh_survey_extra_fields
from . import sh_survey_matrix_adv
from . import sh_survey_extra_fields_adv

View File

@@ -0,0 +1,76 @@
# -*- coding: utf-8 -*-
# Part of Softhealer Technologies.
{
"name": "All In One Survey Management | Morden Survey Theme | Survey By Additional Fields | Survey Templates | Survey Matrix | Custom Survey",
"author": "Softhealer Technologies",
"website": "https://www.softhealer.com",
"support": "support@softhealer.com",
"category": "Extra Tools",
"license": "OPL-1",
"summary": "Create Awesome Survey By Email Survey By File Survey By URL Survey By Time Survey By Range Survey By Barcode Survey By QRCode Export Survey Answer XLS Latest Survey Theme Organization Survey Company Survey Creative Survey Theme Beautifull Survey Survey file upload Survey attachment upload on Survey attach file on Survey attachment upload attachment on Survey binary field Survey multi file upload Survey multi attachment on Survey attach file on Survey attachment answer Survey file upload option Survey Multi File Upload Field and upload in attachment survey theme all in one survey Odoo",
"description": """A survey is a method to collect data from various people to gain information on different topics. The survey can be useful for multiple purposes. We have created this app to make odoo survey module more useful. Our module provides survey with many addition fields options and different theme styles. We provide 5 unique theme styles for survey so you can use different theme for different survey. You can create attractive and clean survey forms with no effort so you can easily create survey using this module. We provide 20+ additional fields For Survey.""",
"version": "16.0.5",
"depends": ["survey", "website", ],
"data": [
"security/ir.model.access.csv",
# Survmate
"sh_survmate_theme/wizards/button_style_wizard_views.xml",
"sh_survmate_theme/views/survey_layout_templates.xml",
"sh_survmate_theme/views/survey_views.xml",
"sh_survmate_theme/views/survey_setting_views.xml",
"sh_survmate_theme/views/survey_question_views.xml",
"sh_survmate_theme/views/survey_question_template.xml",
"sh_survmate_theme/views/survey_question_matrix_templates.xml",
"sh_survmate_theme/data/survmate_demo.xml",
# Survey extra fields
'sh_survey_extra_fields/views/survey_statistics_templates.xml',
'sh_survey_extra_fields/views/survey_templates.xml',
'sh_survey_extra_fields/views/survey_views.xml',
# Survey Matrix Adv
'sh_survey_matrix_adv/views/survey_templates.xml',
'sh_survey_matrix_adv/views/survey_views.xml',
# sh_survey_extra_fields_adv
'sh_survey_extra_fields_adv/views/survey_page_fill_templates.xml',
'sh_survey_extra_fields_adv/views/survey_templates.xml',
'sh_survey_extra_fields_adv/views/survey_views.xml',
],
'assets': {
'web.assets_frontend': [
'sh_survey_all_in_one/static/src/scss/extra_addons/sh_survmate_theme/button_style.scss',
'sh_survey_all_in_one/static/src/scss/extra_addons/sh_survmate_theme/checkbox_style.scss',
'sh_survey_all_in_one/static/src/scss/extra_addons/sh_survmate_theme/common_style.scss',
'sh_survey_all_in_one/static/src/scss/extra_addons/sh_survmate_theme/input_style.scss',
'sh_survey_all_in_one/static/src/scss/extra_addons/sh_survmate_theme/radio_btn.scss',
'sh_survey_all_in_one/static/src/scss/extra_addons/sh_survmate_theme/section_style.scss',
],
'survey.survey_assets': [
'sh_survey_all_in_one/static/src/css/extra_addons/sh_survey_extra_fields/filter_multi_select.css',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/bootstrap-multiselect.js',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/filter-multi-select-bundle.min.js',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/jSignature.js',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js',
'sh_survey_all_in_one/static/src/css/extra_addons/sh_survey_matrix_adv/survey.css',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_matrix_adv/survey_form.js',
# sh_survey_extra_fields_adv
'sh_survey_all_in_one/static/src/css/extra_addons/sh_survey_extra_fields_adv/sh_survey_extra_fields_adv.css',
'sh_survey_all_in_one/static/src/scss/extra_addons/sh_survey_extra_fields_adv/extra_field_barcode.scss',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields_adv/ZXing.js',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields_adv/survey_form.js',
'sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields_adv/extra_field_barcode.js',
],
},
"images": ["static/description/background.gif", ],
"auto_install": False,
"installable": True,
"application": True,
"price": 250,
"currency": "EUR"
}

View File

@@ -0,0 +1,24 @@
v16.0.1 (Date : 14th Oct 2022)
=============================
= Initial Release
(Date : 3rd Nov 2022)
=============================
= [fix] design changes
v16.0.2 (Date : 27th Dec 2022)
===============================
= [fix] background image not appreared on survey
v16.0.3 (Date : 31th Mar 2023)
==============================
= required field warning added
v16.0.4 (Date : 14th September 2023)
====================================
= [FIX] An error was displayed if a date field was not answered in the matrix during submission.
= [IMP] The datetime field in the matrix design has been improved because it no longer looks like a date field.
v16.0.5 (Date : 5th October 2023)
==================================
= [IMP] survey condition added while assign css

View File

@@ -0,0 +1,841 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sh_survey_all_in_one
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-28 07:30+0000\n"
"PO-Revision-Date: 2022-06-28 07:30+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_textbox_for_pattern
msgid "#{question.validation_sh_textbox_placeholder}"
msgstr "#{question.validation_sh_textbox_placeholder}"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__10
msgid "10"
msgstr "10"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__11
msgid "11"
msgstr "11"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__12
msgid "12"
msgstr "12"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "18:00"
msgstr "18:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "20"
msgstr "20"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-03"
msgstr "2018-03"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-05"
msgstr "2018-05"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W18"
msgstr "2018-W18"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W26"
msgstr "2018-W26"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "60 (In seconds)"
msgstr "60 (في ثوان)"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "9:00"
msgstr "9:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid ""
"<span style=\"display: block;\">Result:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
msgstr ""
"<span style=\"display: block;\">نتيجة:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "<strong style=\"align-self: center;\" class=\"col-3\">Camera</strong>"
msgstr "<strong style=\"align-self: center;\" class=\"col-3\">آلة تصوير</strong>"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survey_matrix_adv/models/survey.py:0
#, python-format
msgid "A question is either skipped, either answered. Not both."
msgstr "يتم تخطي سؤال إما ، إما الإجابة. ليس كليهما."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_address
msgid "Address"
msgstr "تبوك"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_answer_color
msgid "Answer Color"
msgstr "لون الإجابة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_answer_text_color
msgid "Answer Text Color"
msgstr "إجابة لون النص"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__answer_type
msgid "Answer Type"
msgstr "نوع الإجابة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_bg_color
msgid "Background Color"
msgstr "لون الخلفية"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_barcode
msgid "Barcode"
msgstr "الرمز الشريطي"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Barcode Scanner"
msgstr "ماسح الباركود"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_button_style
msgid "Button Style"
msgstr "نمط زر"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Cancel"
msgstr "يلغي"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_checkbox_style
msgid "Checkbox Style"
msgstr "نمط مربع الاختيار"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_value_type
msgid "Choices Type"
msgstr "نوع الخيارات"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "City"
msgstr "مدينة"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_signature
msgid "Clear"
msgstr "صافي"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_file_print
msgid "Click here to download file"
msgstr "انقر هنا لتنزيل الملف"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Close"
msgstr "قريب"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_color
msgid "Color"
msgstr "اللون"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Colors"
msgstr "الألوان"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_country_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country"
msgstr "دولة"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country..."
msgstr "دولة..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_uid
msgid "Created by"
msgstr "انشأ من قبل"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_date
msgid "Created on"
msgstr "تم إنشاؤها على"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__matrix_subtype__sh_custom_matrix
msgid "Custom Matrix"
msgstr "مصفوفة مخصصة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__date
msgid "Date"
msgstr "تاريخ"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__datetime
msgid "Datetime"
msgstr "DateTime"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__display_name
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__display_name
msgid "Display Name"
msgstr "اسم العرض"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_email
msgid "E-mail"
msgstr "البريد الإلكتروني"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_file
msgid "File"
msgstr "ملف"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file_fname
msgid "File Name"
msgstr "اسم الملف"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_survmate_theme_grid_type
msgid "Grid"
msgstr "جريد"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_ir_http
msgid "HTTP Routing"
msgstr "HTTP التوجيه"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__id
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__id
msgid "ID"
msgstr "بطاقة تعريف"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__access_token
msgid "Identification token"
msgstr "الرمز المميز للهوية"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__img_src
msgid "Image Src"
msgstr "صورة SRC"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question
msgid "Inherit Survey Question for extra fields"
msgstr "مسألة استقصاء وراثة للحقول الإضافية"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_input_style
msgid "Input Style"
msgstr "نمط الإدخال"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_is_sh_textbox_pattern
msgid "Input must be in specified pattern"
msgstr "يجب أن يكون المدخلات في نمط محدد"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_is_time_fixed
msgid "Is Fixed Timer Position?"
msgstr "هل وضع مؤقت ثابت؟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings____last_update
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard____last_update
msgid "Last Modified on"
msgstr "آخر تعديل على"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_uid
msgid "Last Updated by"
msgstr "آخر تحديث بواسطة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_date
msgid "Last Updated on"
msgstr "آخر تحديث على"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_latitude
msgid "Latitude"
msgstr "خط العرض"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_question_form_inherit
msgid "Layout"
msgstr "تَخطِيط"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_location
msgid "Location"
msgstr "موقع"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_longitude
msgid "Longitude"
msgstr "خط الطول"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2many
msgid "Many2many"
msgstr "Many2Many"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2one
msgid "Many2one"
msgstr "quant2one"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__matrix_subtype
msgid "Matrix Type"
msgstr "نوع المصفوفة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_max
msgid "Maximum"
msgstr "أقصى"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_max
msgid "Maximum Month"
msgstr "أقصى شهر"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_max
msgid "Maximum Range"
msgstr "أقصى مدى"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_max
msgid "Maximum Time"
msgstr "الحد الأقصى للوقت"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_max
msgid "Maximum Week"
msgstr "أقصى أسبوع"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_min
msgid "Minimum"
msgstr "الحد الأدنى"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_min
msgid "Minimum Month"
msgstr "الحد الأدنى للشهر"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_min
msgid "Minimum Range"
msgstr "الحد الأدنى النطاق"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_min
msgid "Minimum Time"
msgstr "الحد الأدنى من الوقت"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_min
msgid "Minimum Week"
msgstr "أدنى أسبوع"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2many_model_id
msgid "Model"
msgstr "نموذج"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2one_model_id
msgid "Model "
msgstr "نموذج"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_month
msgid "Month"
msgstr "شهر"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_step
msgid "Month Step"
msgstr "خطوة الشهر"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__free_text
msgid "Multiple Lines Text Box"
msgstr "مربع نص خطوط متعددة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__name
msgid "Name"
msgstr "اسم"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__numerical_box
msgid "Numerical Value"
msgstr "القيمة العددية"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_password
msgid "Password"
msgstr "كلمة المرور"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_maxlen
msgid "Password Maximum Length"
msgstr "كلمة مرور الحد الأقصى"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_minlen
msgid "Password Minimum Length"
msgstr "الحد الأدنى لطول كلمة المرور"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Preview"
msgstr "معاينة"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survmate_theme/models/survey.py:0
#, python-format
msgid "Preview Style"
msgstr "نمط المعاينة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_primary_color
msgid "Primary Color"
msgstr "لون أصلي"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_qrcode
msgid "QR Code"
msgstr "رمز الاستجابة السريعة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_question_color
msgid "Question Color"
msgstr "لون أسئلة"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__question_type
msgid "Question Type"
msgstr "نوع السؤال"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_radio_button_style
msgid "Radio Button Style"
msgstr "نمط زر الراديو"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_range
msgid "Range"
msgstr "نطاق"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_step
msgid "Range Step"
msgstr "خطوة المدى"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_secondary_color
msgid "Secondary Color"
msgstr "اللون الثانوي"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_color
msgid "Section Background Color"
msgstr "لون خلفية القسم"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_font_color
msgid "Section Font Color"
msgstr "لون الخط"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_style
msgid "Section Style"
msgstr "نمط القسم"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_many2one
msgid "Select..."
msgstr "يختار..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_show_bg_color
msgid "Show Background Color"
msgstr "إظهار لون الخلفية"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_city
msgid "Show City Field?"
msgstr "عرض المدينة؟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_country_id
msgid "Show Country Field?"
msgstr "إظهار حقل البلد؟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_state_id
msgid "Show State Field?"
msgstr "إظهار حقل الدولة؟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street
msgid "Show Street Field?"
msgstr "أظهر حقل الشارع؟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street2
msgid "Show Street2 Field?"
msgstr "إظهار حقل Street2؟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_zip
msgid "Show Zip Field?"
msgstr "عرض zip Field؟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_signature
msgid "Signature"
msgstr "التوقيع"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature_src
msgid "Signature src"
msgstr "توقيع SRC"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__textbox
msgid "Single Line Text Box"
msgstr "مربع نص سطر واحد"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_state_id
msgid "State"
msgstr "حالة"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province"
msgstr "الدولة / المقاطعة"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province..."
msgstr "الدولة / المقاطعة ..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_step
msgid "Step"
msgstr "خطوة"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street 2"
msgstr "الشارع 2"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street <span class=\"d-none d-md-inline\"> and Number</span>"
msgstr "Street <span class = \ "d-none d-md-inline \"> والرقم </span>"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_1
msgid "Style 1"
msgstr "نمط 1"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_2
msgid "Style 2"
msgstr "النمط 2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_3
msgid "Style 3"
msgstr "النمط 3"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_4
msgid "Style 4"
msgstr "النمط 4"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_5
msgid "Style 5"
msgstr "النمط 5"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Styles"
msgstr "أنماط"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_survey
msgid "Survey"
msgstr "الدراسة الاستقصائية"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question_answer
msgid "Survey Label"
msgstr "تسمية المسح"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input_line
msgid "Survey User Input Line for extra fields"
msgstr "خط إدخال مستخدم المسح لحقول إضافية"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input
msgid "Survey User Input for custom matrix"
msgstr "استطلاع إدخال مستخدم للمصفوفة المخصصة"
#. module: sh_survey_all_in_one
#: model:ir.actions.act_window,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_action
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_settings
#: model:ir.ui.menu,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_menu
msgid "Survmate Settings"
msgstr "إعدادات الناجين"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_survmate_settings_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_form_inherit
msgid "Survmate Theme"
msgstr "موضوع الناجين"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_theme_button_design_wizard
msgid "Survmate Theme Button Design"
msgstr "تصميم زر الناجين"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_pattern
msgid "Textbox Pattern"
msgstr "نمط مربع النص"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_placeholder
msgid "Textbox Placeholder"
msgstr "نص مربع النص"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Theme Preview"
msgstr "معاينة الموضوع"
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an URL."
msgstr "يجب أن تكون هذه الإجابة عنوان URL."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an email address."
msgstr "يجب أن تكون هذه الإجابة عنوان بريد إلكتروني."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This is not a date"
msgstr "هذا ليس موعدًا"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_time
msgid "Time"
msgstr "زمن"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_step
msgid "Time Step"
msgstr "خطوة زمنية"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_url
msgid "URL"
msgstr "عنوان URL"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_city
msgid "Value Ans Sh City"
msgstr "قيمة ANS SH CITY"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street
msgid "Value Ans Sh Street"
msgstr "قيمة الجواب شارع شارع"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street2
msgid "Value Ans Sh Street2"
msgstr "القيمة Ans SH Street2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_zip
msgid "Value Ans Sh Zip"
msgstr "قيمة الجواب sh zip"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_week
msgid "Week"
msgstr "أسبوع"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_step
msgid "Week Step"
msgstr "خطوة الأسبوع"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Zip Code"
msgstr "الرمز البريدي"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "[0-9]{4}"
msgstr "[0-9] {4}"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "e.g. Theme Settings for Survey A"
msgstr "على سبيل المثال إعدادات الموضوع للمسح أ"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_email
msgid "example@domain.com"
msgstr "example@domain.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_time
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_url
msgid "https://example.com"
msgstr "https://example.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "nnnn"
msgstr "nnnn"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "preview image"
msgstr "صورة المعاينة"

View File

@@ -0,0 +1,841 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sh_survey_all_in_one
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-28 07:30+0000\n"
"PO-Revision-Date: 2022-06-28 07:30+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_textbox_for_pattern
msgid "#{question.validation_sh_textbox_placeholder}"
msgstr "#{question.validation_sh_textbox_placeholder}"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__10
msgid "10"
msgstr "10"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__11
msgid "11"
msgstr "11"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__12
msgid "12"
msgstr "12"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "18:00"
msgstr "18:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "20"
msgstr "20"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-03"
msgstr "2018-03"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-05"
msgstr "2018-05"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W18"
msgstr "2018-W18"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W26"
msgstr "2018-W26"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "60 (In seconds)"
msgstr "60 (In seconds)"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "9:00"
msgstr "9:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid ""
"<span style=\"display: block;\">Result:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
msgstr ""
"<span style=\"display: block;\">Ergebnis:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "<strong style=\"align-self: center;\" class=\"col-3\">Camera</strong>"
msgstr "<strong style=\"align-self: center;\" class=\"col-3\">Kamera</strong>"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survey_matrix_adv/models/survey.py:0
#, python-format
msgid "A question is either skipped, either answered. Not both."
msgstr "Eine Frage wird entweder übersprungen, entweder beantwortet. Nicht beide."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_address
msgid "Address"
msgstr "Adresse"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_answer_color
msgid "Answer Color"
msgstr "Antwortfarbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_answer_text_color
msgid "Answer Text Color"
msgstr "Beantwortung der Textfarbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__answer_type
msgid "Answer Type"
msgstr "Antworttyp"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_bg_color
msgid "Background Color"
msgstr "Hintergrundfarbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_barcode
msgid "Barcode"
msgstr "Barcode"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Barcode Scanner"
msgstr "Barcodelesegerät"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_button_style
msgid "Button Style"
msgstr "Knopfstil"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Cancel"
msgstr "Absagen"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_checkbox_style
msgid "Checkbox Style"
msgstr "Kontrollkastenstil"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_value_type
msgid "Choices Type"
msgstr "Auswahltyp"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "City"
msgstr "Stadt"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_signature
msgid "Clear"
msgstr "Klar"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_file_print
msgid "Click here to download file"
msgstr "Klicken Sie hier, um die Datei herunterzuladen"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Close"
msgstr "Nah dran"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_color
msgid "Color"
msgstr "Farbe"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Colors"
msgstr "Farben"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_country_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country"
msgstr "Land"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country..."
msgstr "Land..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_uid
msgid "Created by"
msgstr "Erstellt von"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_date
msgid "Created on"
msgstr "Erstellt am"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__matrix_subtype__sh_custom_matrix
msgid "Custom Matrix"
msgstr "Benutzerdefinierte Matrix"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__date
msgid "Date"
msgstr "Datum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__datetime
msgid "Datetime"
msgstr "Terminzeit"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__display_name
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__display_name
msgid "Display Name"
msgstr "Anzeigename"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_email
msgid "E-mail"
msgstr "Email"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_file
msgid "File"
msgstr "Datei"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file_fname
msgid "File Name"
msgstr "Dateiname"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_survmate_theme_grid_type
msgid "Grid"
msgstr "Netz"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_ir_http
msgid "HTTP Routing"
msgstr "HTTP -Routing"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__id
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__id
msgid "ID"
msgstr "ICH WÜRDE"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__access_token
msgid "Identification token"
msgstr "Identifikationstoken"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__img_src
msgid "Image Src"
msgstr "Bild SRC"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question
msgid "Inherit Survey Question for extra fields"
msgstr "Erbefragfrage für zusätzliche Felder in Erben"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_input_style
msgid "Input Style"
msgstr "Eingabestil"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_is_sh_textbox_pattern
msgid "Input must be in specified pattern"
msgstr "Die Eingabe muss im angegebenen Muster sein"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_is_time_fixed
msgid "Is Fixed Timer Position?"
msgstr "Ist die Position der festen Timer?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings____last_update
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard____last_update
msgid "Last Modified on"
msgstr "Zuletzt modifiziert auf"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_uid
msgid "Last Updated by"
msgstr "Zuletzt aktualisiert von"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_date
msgid "Last Updated on"
msgstr "Zuletzt aktualisiert am"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_latitude
msgid "Latitude"
msgstr "Breite"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_question_form_inherit
msgid "Layout"
msgstr "Layout"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_location
msgid "Location"
msgstr "Ort"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_longitude
msgid "Longitude"
msgstr "Längengrad"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2many
msgid "Many2many"
msgstr "Viele2Many"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2one
msgid "Many2one"
msgstr "Viele2one"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__matrix_subtype
msgid "Matrix Type"
msgstr "Matrixtyp"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_max
msgid "Maximum"
msgstr "Maximal"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_max
msgid "Maximum Month"
msgstr "Maximaler Monat"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_max
msgid "Maximum Range"
msgstr "Maximale Reichweite"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_max
msgid "Maximum Time"
msgstr "Höchstzeit"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_max
msgid "Maximum Week"
msgstr "Maximale Woche"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_min
msgid "Minimum"
msgstr "Minimum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_min
msgid "Minimum Month"
msgstr "Mindestmonat"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_min
msgid "Minimum Range"
msgstr "Mindestbereich"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_min
msgid "Minimum Time"
msgstr "Mindestzeit"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_min
msgid "Minimum Week"
msgstr "Mindestwoche"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2many_model_id
msgid "Model"
msgstr "Modell"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2one_model_id
msgid "Model "
msgstr "Modell"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_month
msgid "Month"
msgstr "Monat"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_step
msgid "Month Step"
msgstr "Monatschritt"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__free_text
msgid "Multiple Lines Text Box"
msgstr "Textfeld mehrere Zeilen"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__name
msgid "Name"
msgstr "Name"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__numerical_box
msgid "Numerical Value"
msgstr "Numerischer Wert"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_password
msgid "Password"
msgstr "Passwort"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_maxlen
msgid "Password Maximum Length"
msgstr "Passwort Maximale Länge"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_minlen
msgid "Password Minimum Length"
msgstr "Passwort Mindestlänge"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Preview"
msgstr "Vorschau"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survmate_theme/models/survey.py:0
#, python-format
msgid "Preview Style"
msgstr "Vorschaustil"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_primary_color
msgid "Primary Color"
msgstr "Primärfarbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_qrcode
msgid "QR Code"
msgstr "QR-Code"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_question_color
msgid "Question Color"
msgstr "Frage Farbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__question_type
msgid "Question Type"
msgstr "Fragetyp"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_radio_button_style
msgid "Radio Button Style"
msgstr "Optionsknopfstil"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_range
msgid "Range"
msgstr "Bereich"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_step
msgid "Range Step"
msgstr "Bereichsschritt"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_secondary_color
msgid "Secondary Color"
msgstr "Sekundäre Farbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_color
msgid "Section Background Color"
msgstr "Abschnitt Hintergrundfarbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_font_color
msgid "Section Font Color"
msgstr "Schnitt Schriftfarbe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_style
msgid "Section Style"
msgstr "Abschnittsstil"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_many2one
msgid "Select..."
msgstr "Auswählen..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_show_bg_color
msgid "Show Background Color"
msgstr "Hintergrundfarbe zeigen"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_city
msgid "Show City Field?"
msgstr "Zeigen Sie City Field?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_country_id
msgid "Show Country Field?"
msgstr "Show Country Field?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_state_id
msgid "Show State Field?"
msgstr "Staatsfeld zeigen?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street
msgid "Show Street Field?"
msgstr "Show Street Field?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street2
msgid "Show Street2 Field?"
msgstr "Show Street2 Field?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_zip
msgid "Show Zip Field?"
msgstr "ZIP -Feld zeigen?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_signature
msgid "Signature"
msgstr "Unterschrift"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature_src
msgid "Signature src"
msgstr "Signatur Src"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__textbox
msgid "Single Line Text Box"
msgstr "Ein Zeilen Textfeld"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_state_id
msgid "State"
msgstr "Bundesland"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province"
msgstr "Staat / Provinz"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province..."
msgstr "Staat / Provinz ..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_step
msgid "Step"
msgstr "Schritt"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street 2"
msgstr "Straße Nummer 2"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street <span class=\"d-none d-md-inline\"> and Number</span>"
msgstr "Street <span class = \ "d-none d-md-inline \"> und nummer </span>"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_1
msgid "Style 1"
msgstr "Stil 1"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_2
msgid "Style 2"
msgstr "Stil 2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_3
msgid "Style 3"
msgstr "Stil 3"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_4
msgid "Style 4"
msgstr "Stil 4"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_5
msgid "Style 5"
msgstr "Stil 5"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Styles"
msgstr "Stile"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_survey
msgid "Survey"
msgstr "Umfrage"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question_answer
msgid "Survey Label"
msgstr "Vermessungsetikett"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input_line
msgid "Survey User Input Line for extra fields"
msgstr "Umfrage der Benutzereingabezeile für zusätzliche Felder"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input
msgid "Survey User Input for custom matrix"
msgstr "Umfrage der Benutzereingabe für benutzerdefinierte Matrix"
#. module: sh_survey_all_in_one
#: model:ir.actions.act_window,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_action
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_settings
#: model:ir.ui.menu,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_menu
msgid "Survmate Settings"
msgstr "Einstellungen übertrieben"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_survmate_settings_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_form_inherit
msgid "Survmate Theme"
msgstr "Übertriffungsthema"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_theme_button_design_wizard
msgid "Survmate Theme Button Design"
msgstr "Überwachen Sie das Design des Themas -Schaltfläche"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_pattern
msgid "Textbox Pattern"
msgstr "Textbox -Muster"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_placeholder
msgid "Textbox Placeholder"
msgstr "Textbox -Platzhalter"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Theme Preview"
msgstr "Thema Vorschau"
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an URL."
msgstr "Diese Antwort muss eine URL sein."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an email address."
msgstr "Diese Antwort muss eine E -Mail -Adresse sein."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This is not a date"
msgstr "Dies ist kein Datum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_time
msgid "Time"
msgstr "Zeit"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_step
msgid "Time Step"
msgstr "Zeitschritt"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_url
msgid "URL"
msgstr "URL"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_city
msgid "Value Ans Sh City"
msgstr "Wert ans Sh City"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street
msgid "Value Ans Sh Street"
msgstr "Wert ans Sh Street"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street2
msgid "Value Ans Sh Street2"
msgstr "Wert Ans SH Street2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_zip
msgid "Value Ans Sh Zip"
msgstr "Wert Ans sh Zip"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_week
msgid "Week"
msgstr "Woche"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_step
msgid "Week Step"
msgstr "Woche Schritt"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Zip Code"
msgstr "Postleitzahl"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "[0-9]{4}"
msgstr "[0-9] {4}"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "e.g. Theme Settings for Survey A"
msgstr "z.B. Themeneinstellungen für Umfrage a"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_email
msgid "example@domain.com"
msgstr "Beispiel@domain.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_time
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_url
msgid "https://example.com"
msgstr "https://example.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "nnnn"
msgstr "nnnn"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "preview image"
msgstr "Vorschaubild"

View File

@@ -0,0 +1,841 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sh_survey_all_in_one
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-28 07:30+0000\n"
"PO-Revision-Date: 2022-06-28 07:30+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_textbox_for_pattern
msgid "#{question.validation_sh_textbox_placeholder}"
msgstr "#{question.validation_sh_textbox_placeholder}"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__10
msgid "10"
msgstr "10"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__11
msgid "11"
msgstr "11"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__12
msgid "12"
msgstr "12"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "18:00"
msgstr "18:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "20"
msgstr "20"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-03"
msgstr "2018-03"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-05"
msgstr "2018-05"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W18"
msgstr "2018-W18"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W26"
msgstr "2018-W26"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "60 (In seconds)"
msgstr "60 (In seconds)"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "9:00"
msgstr "9:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid ""
"<span style=\"display: block;\">Result:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
msgstr ""
"<span style=\"display: block;\">Resultado</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "<strong style=\"align-self: center;\" class=\"col-3\">Camera</strong>"
msgstr "<strong style=\"align-self: center;\" class=\"col-3\">Cámara</strong>"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survey_matrix_adv/models/survey.py:0
#, python-format
msgid "A question is either skipped, either answered. Not both."
msgstr "Una pregunta se omite, ya sea respondida. No ambos."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_address
msgid "Address"
msgstr "Dirección"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_answer_color
msgid "Answer Color"
msgstr "Responder color"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_answer_text_color
msgid "Answer Text Color"
msgstr "Responder Color de texto"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__answer_type
msgid "Answer Type"
msgstr "Tipo de respuesta"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_bg_color
msgid "Background Color"
msgstr "Color de fondo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_barcode
msgid "Barcode"
msgstr "Código de barras"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Barcode Scanner"
msgstr "Escáner de código de barras"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_button_style
msgid "Button Style"
msgstr "Estilo de botón"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Cancel"
msgstr "Cancelar"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_checkbox_style
msgid "Checkbox Style"
msgstr "Estilo de casilla de verificación"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_value_type
msgid "Choices Type"
msgstr "Tipo de opciones"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "City"
msgstr "Ciudad"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_signature
msgid "Clear"
msgstr "Claro"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_file_print
msgid "Click here to download file"
msgstr "Haga clic aquí para descargar archivo"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Close"
msgstr "Cerca"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_color
msgid "Color"
msgstr "Color"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Colors"
msgstr "Colores"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_country_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country"
msgstr "País"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country..."
msgstr "País..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_date
msgid "Created on"
msgstr "Creado en"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__matrix_subtype__sh_custom_matrix
msgid "Custom Matrix"
msgstr "Matriz personalizada"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__date
msgid "Date"
msgstr "Fecha"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__datetime
msgid "Datetime"
msgstr "Fecha y hora"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__display_name
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__display_name
msgid "Display Name"
msgstr "Nombre para mostrar"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_email
msgid "E-mail"
msgstr "Correo electrónico"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_file
msgid "File"
msgstr "Expediente"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file_fname
msgid "File Name"
msgstr "Nombre del archivo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_survmate_theme_grid_type
msgid "Grid"
msgstr "Cuadrícula"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_ir_http
msgid "HTTP Routing"
msgstr "Enrutamiento HTTP"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__id
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__id
msgid "ID"
msgstr "IDENTIFICACIÓN"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__access_token
msgid "Identification token"
msgstr "Token de identificación"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__img_src
msgid "Image Src"
msgstr "Imagen SRC"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question
msgid "Inherit Survey Question for extra fields"
msgstr "Pregunta de la encuesta heredar para campos adicionales"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_input_style
msgid "Input Style"
msgstr "Estilo de entrada"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_is_sh_textbox_pattern
msgid "Input must be in specified pattern"
msgstr "La entrada debe estar en un patrón especificado"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_is_time_fixed
msgid "Is Fixed Timer Position?"
msgstr "¿Es la posición del temporizador fijo?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings____last_update
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard____last_update
msgid "Last Modified on"
msgstr "Última modificación en"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_date
msgid "Last Updated on"
msgstr "Ultima actualización en"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_latitude
msgid "Latitude"
msgstr "Latitud"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_question_form_inherit
msgid "Layout"
msgstr "Diseño"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_location
msgid "Location"
msgstr "Ubicación"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_longitude
msgid "Longitude"
msgstr "Longitud"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2many
msgid "Many2many"
msgstr "Many2Many"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2one
msgid "Many2one"
msgstr "Many2One"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__matrix_subtype
msgid "Matrix Type"
msgstr "Tipo de matriz"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_max
msgid "Maximum"
msgstr "Máximo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_max
msgid "Maximum Month"
msgstr "Mes máximo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_max
msgid "Maximum Range"
msgstr "Rango maximo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_max
msgid "Maximum Time"
msgstr "Tiempo máximo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_max
msgid "Maximum Week"
msgstr "Semana máxima"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_min
msgid "Minimum"
msgstr "Mínimo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_min
msgid "Minimum Month"
msgstr "Mes mínimo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_min
msgid "Minimum Range"
msgstr "Rango mínimo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_min
msgid "Minimum Time"
msgstr "Tiempo mínimo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_min
msgid "Minimum Week"
msgstr "Semana mínima"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2many_model_id
msgid "Model"
msgstr "Modelo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2one_model_id
msgid "Model "
msgstr "Modelo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_month
msgid "Month"
msgstr "Mes"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_step
msgid "Month Step"
msgstr "Paso mensual"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__free_text
msgid "Multiple Lines Text Box"
msgstr "Cuadro de texto de múltiples líneas"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__name
msgid "Name"
msgstr "Nombre"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__numerical_box
msgid "Numerical Value"
msgstr "Valor numérico"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_password
msgid "Password"
msgstr "Clave"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_maxlen
msgid "Password Maximum Length"
msgstr "Contraseña Longitud máxima"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_minlen
msgid "Password Minimum Length"
msgstr "Longitud mínima de contraseña"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Preview"
msgstr "Avance"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survmate_theme/models/survey.py:0
#, python-format
msgid "Preview Style"
msgstr "Estilo de vista previa"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_primary_color
msgid "Primary Color"
msgstr "Color primario"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_qrcode
msgid "QR Code"
msgstr "Código QR"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_question_color
msgid "Question Color"
msgstr "Color de preguntas"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__question_type
msgid "Question Type"
msgstr "tipo de pregunta"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_radio_button_style
msgid "Radio Button Style"
msgstr "Estilo de botón de radio"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_range
msgid "Range"
msgstr "Rango"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_step
msgid "Range Step"
msgstr "Paso de alcance"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_secondary_color
msgid "Secondary Color"
msgstr "Color secundario"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_color
msgid "Section Background Color"
msgstr "Color de fondo de sección"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_font_color
msgid "Section Font Color"
msgstr "Color de fuente de sección"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_style
msgid "Section Style"
msgstr "Estilo de sección"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_many2one
msgid "Select..."
msgstr "Seleccione..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_show_bg_color
msgid "Show Background Color"
msgstr "Mostrar color de fondo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_city
msgid "Show City Field?"
msgstr "¿Show City Field?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_country_id
msgid "Show Country Field?"
msgstr "¿Mostrar campo country?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_state_id
msgid "Show State Field?"
msgstr "¿Mostrar campo estatal?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street
msgid "Show Street Field?"
msgstr "¿Show Street Field?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street2
msgid "Show Street2 Field?"
msgstr "Show street2 campo?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_zip
msgid "Show Zip Field?"
msgstr "¿Mostrar campo ZIP?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_signature
msgid "Signature"
msgstr "Firma"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature_src
msgid "Signature src"
msgstr "Signature SRC"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__textbox
msgid "Single Line Text Box"
msgstr "Cuadro de texto de una sola línea"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_state_id
msgid "State"
msgstr "Estado"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province"
msgstr "Provincia del estado"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province..."
msgstr "Provincia del estado..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_step
msgid "Step"
msgstr "Paso"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street 2"
msgstr "Calle # 2"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street <span class=\"d-none d-md-inline\"> and Number</span>"
msgstr "Calle <span class = \ "d-none d-md-inline \"> y número </span>"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_1
msgid "Style 1"
msgstr "Estilo 1"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_2
msgid "Style 2"
msgstr "Estilo 2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_3
msgid "Style 3"
msgstr "Estilo 3"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_4
msgid "Style 4"
msgstr "Estilo 4"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_5
msgid "Style 5"
msgstr "Estilo 5"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Styles"
msgstr "Estilos"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_survey
msgid "Survey"
msgstr "Encuesta"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question_answer
msgid "Survey Label"
msgstr "Etiqueta de encuesta"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input_line
msgid "Survey User Input Line for extra fields"
msgstr "Encuesta Línea de entrada del usuario para campos adicionales"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input
msgid "Survey User Input for custom matrix"
msgstr "Introducción al usuario de encuesta para matriz personalizada"
#. module: sh_survey_all_in_one
#: model:ir.actions.act_window,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_action
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_settings
#: model:ir.ui.menu,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_menu
msgid "Survmate Settings"
msgstr "Configuración de Survmate"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_survmate_settings_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_form_inherit
msgid "Survmate Theme"
msgstr "Tema de Survmate"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_theme_button_design_wizard
msgid "Survmate Theme Button Design"
msgstr "Diseño del botón del tema del tema de Survmate"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_pattern
msgid "Textbox Pattern"
msgstr "Patrón de cuadro de texto"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_placeholder
msgid "Textbox Placeholder"
msgstr "Marcador de posición del cuadro de texto"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Theme Preview"
msgstr "Vista previa del tema"
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an URL."
msgstr "Esta respuesta debe ser una URL."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an email address."
msgstr "Esta respuesta debe ser una dirección de correo electrónico."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This is not a date"
msgstr "Esta no es una fecha"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_time
msgid "Time"
msgstr "Tiempo"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_step
msgid "Time Step"
msgstr "Hora de caminar"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_url
msgid "URL"
msgstr "Url"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_city
msgid "Value Ans Sh City"
msgstr "Valor Ans Sh City"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street
msgid "Value Ans Sh Street"
msgstr "Valor Ans Sh Street"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street2
msgid "Value Ans Sh Street2"
msgstr "Valor Ans sh street2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_zip
msgid "Value Ans Sh Zip"
msgstr "Valor y zip sh"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_week
msgid "Week"
msgstr "Semana"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_step
msgid "Week Step"
msgstr "Paso de la semana"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Zip Code"
msgstr "Código postal"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "[0-9]{4}"
msgstr "[0-9] {4}"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "e.g. Theme Settings for Survey A"
msgstr "p.ej. Configuración del tema para la encuesta a"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_email
msgid "example@domain.com"
msgstr "ejemplo@domain.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_time
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_url
msgid "https://example.com"
msgstr "https://example.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "nnnn"
msgstr "nnnn"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "preview image"
msgstr "Vista previa de imagen"

View File

@@ -0,0 +1,841 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sh_survey_all_in_one
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-28 07:30+0000\n"
"PO-Revision-Date: 2022-06-28 07:30+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_textbox_for_pattern
msgid "#{question.validation_sh_textbox_placeholder}"
msgstr "#{question.validation_sh_textbox_placeholder}"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__10
msgid "10"
msgstr "10"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__11
msgid "11"
msgstr "11"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__12
msgid "12"
msgstr "12"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "18:00"
msgstr "18:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "20"
msgstr "20"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-03"
msgstr "2018-03"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-05"
msgstr "2018-05"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W18"
msgstr "2018-W18"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W26"
msgstr "2018-W26"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "60 (In seconds)"
msgstr "60 (In seconds)"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "9:00"
msgstr "9:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid ""
"<span style=\"display: block;\">Result:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
msgstr ""
"<span style=\"display: block;\">Résultat</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "<strong style=\"align-self: center;\" class=\"col-3\">Camera</strong>"
msgstr "<strong style=\"align-self: center;\" class=\"col-3\">Caméra</strong>"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survey_matrix_adv/models/survey.py:0
#, python-format
msgid "A question is either skipped, either answered. Not both."
msgstr "Une question est sautée, soit répondue. Pas les deux."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_address
msgid "Address"
msgstr "Adresse"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_answer_color
msgid "Answer Color"
msgstr "Répondre à la couleur"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_answer_text_color
msgid "Answer Text Color"
msgstr "Répondre à la couleur du texte"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__answer_type
msgid "Answer Type"
msgstr "Type de réponse"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_bg_color
msgid "Background Color"
msgstr "Couleur de l'arrière plan"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_barcode
msgid "Barcode"
msgstr "code à barre"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Barcode Scanner"
msgstr "Scanner de code-barres"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_button_style
msgid "Button Style"
msgstr "Style de bouton"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Cancel"
msgstr "Annuler"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_checkbox_style
msgid "Checkbox Style"
msgstr "Style à cocher"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_value_type
msgid "Choices Type"
msgstr "Type de choix"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "City"
msgstr "Ville"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_signature
msgid "Clear"
msgstr "Dégager"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_file_print
msgid "Click here to download file"
msgstr "Cliquez ici pour télécharger le fichier"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Close"
msgstr "proche"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_color
msgid "Color"
msgstr "Couleur"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Colors"
msgstr "Couleurs"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_country_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country"
msgstr "Pays"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country..."
msgstr "Pays..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_uid
msgid "Created by"
msgstr "Créé par"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_date
msgid "Created on"
msgstr "Créé sur"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__matrix_subtype__sh_custom_matrix
msgid "Custom Matrix"
msgstr "Matrice personnalisée"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__date
msgid "Date"
msgstr "Date"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__datetime
msgid "Datetime"
msgstr "DateTime"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__display_name
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__display_name
msgid "Display Name"
msgstr "Afficher un nom"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_email
msgid "E-mail"
msgstr "E-mail"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_file
msgid "File"
msgstr "Dossier"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file_fname
msgid "File Name"
msgstr "Nom de fichier"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_survmate_theme_grid_type
msgid "Grid"
msgstr "Grille"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_ir_http
msgid "HTTP Routing"
msgstr "Routage http"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__id
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__id
msgid "ID"
msgstr "IDENTIFIANT"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__access_token
msgid "Identification token"
msgstr "Jeton d'identification"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__img_src
msgid "Image Src"
msgstr "Image src"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question
msgid "Inherit Survey Question for extra fields"
msgstr "QUESTION DE L'ENSECTION DES INTROYANTS POUR LES FIELDS SUPPLÉMENT"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_input_style
msgid "Input Style"
msgstr "Style d'entrée"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_is_sh_textbox_pattern
msgid "Input must be in specified pattern"
msgstr "L'entrée doit être dans un modèle spécifié"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_is_time_fixed
msgid "Is Fixed Timer Position?"
msgstr "La position de la minuterie fixe est-elle?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings____last_update
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard____last_update
msgid "Last Modified on"
msgstr "Dernier modification sur"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_uid
msgid "Last Updated by"
msgstr "Dernière mise à jour par"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_latitude
msgid "Latitude"
msgstr "Latitude"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_question_form_inherit
msgid "Layout"
msgstr "Disposition"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_location
msgid "Location"
msgstr "Emplacement"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_longitude
msgid "Longitude"
msgstr "Longitude"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2many
msgid "Many2many"
msgstr "Many2Many"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2one
msgid "Many2one"
msgstr "Many2one"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__matrix_subtype
msgid "Matrix Type"
msgstr "Type de matrice"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_max
msgid "Maximum"
msgstr "Maximum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_max
msgid "Maximum Month"
msgstr "Mois maximum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_max
msgid "Maximum Range"
msgstr "Plage maximale"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_max
msgid "Maximum Time"
msgstr "Temps maximum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_max
msgid "Maximum Week"
msgstr "Semaine maximale"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_min
msgid "Minimum"
msgstr "Le minimum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_min
msgid "Minimum Month"
msgstr "Mois minimum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_min
msgid "Minimum Range"
msgstr "Plage minimale"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_min
msgid "Minimum Time"
msgstr "Temps minimum"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_min
msgid "Minimum Week"
msgstr "Semaine minimale"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2many_model_id
msgid "Model"
msgstr "Modèle"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2one_model_id
msgid "Model "
msgstr "Modèle"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_month
msgid "Month"
msgstr "Mois"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_step
msgid "Month Step"
msgstr "Étape du mois"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__free_text
msgid "Multiple Lines Text Box"
msgstr "Zone de texte de plusieurs lignes"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__name
msgid "Name"
msgstr "Nom"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__numerical_box
msgid "Numerical Value"
msgstr "Valeur numérique"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_password
msgid "Password"
msgstr "Mot de passe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_maxlen
msgid "Password Maximum Length"
msgstr "Longueur maximale du mot de passe"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_minlen
msgid "Password Minimum Length"
msgstr "Mot de passe minimum"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Preview"
msgstr "Aperçu"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survmate_theme/models/survey.py:0
#, python-format
msgid "Preview Style"
msgstr "Style d'aperçu"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_primary_color
msgid "Primary Color"
msgstr "Couleur primaire"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_qrcode
msgid "QR Code"
msgstr "QR Code"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_question_color
msgid "Question Color"
msgstr "Question Couleur"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__question_type
msgid "Question Type"
msgstr "Type de question"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_radio_button_style
msgid "Radio Button Style"
msgstr "Style de bouton radio"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_range
msgid "Range"
msgstr "Intervalle"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_step
msgid "Range Step"
msgstr "Étape de portée"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_secondary_color
msgid "Secondary Color"
msgstr "Couleur secondaire"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_color
msgid "Section Background Color"
msgstr "Couleur d'arrière-plan de la section"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_font_color
msgid "Section Font Color"
msgstr "Couleur de police de section"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_style
msgid "Section Style"
msgstr "Style de section"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_many2one
msgid "Select..."
msgstr "Sélectionner..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_show_bg_color
msgid "Show Background Color"
msgstr "Montrer la couleur d'arrière-plan"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_city
msgid "Show City Field?"
msgstr "Montrer le terrain de la ville?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_country_id
msgid "Show Country Field?"
msgstr "Montrez le terrain de la campagne?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_state_id
msgid "Show State Field?"
msgstr "Montrer un champ d'état?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street
msgid "Show Street Field?"
msgstr "Montrer le terrain de rue?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street2
msgid "Show Street2 Field?"
msgstr "Afficher le terrain Street2?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_zip
msgid "Show Zip Field?"
msgstr "Montrer le champ zip?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_signature
msgid "Signature"
msgstr "Signature"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature_src
msgid "Signature src"
msgstr "Src signature"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__textbox
msgid "Single Line Text Box"
msgstr "Zone de texte à ligne unique"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_state_id
msgid "State"
msgstr "État"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province"
msgstr "État / province"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province..."
msgstr "État / province ..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_step
msgid "Step"
msgstr "Marcher"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street 2"
msgstr "Rue # 2"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street <span class=\"d-none d-md-inline\"> and Number</span>"
msgstr "Street <span class = \"d-none d-md-inline \"> et numéro </span>"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_1
msgid "Style 1"
msgstr "Style 1"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_2
msgid "Style 2"
msgstr "Style 2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_3
msgid "Style 3"
msgstr "Style 3"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_4
msgid "Style 4"
msgstr "Style 4"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_5
msgid "Style 5"
msgstr "Style 5"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Styles"
msgstr "modes"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_survey
msgid "Survey"
msgstr "Enquête"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question_answer
msgid "Survey Label"
msgstr "Étiquette d'enquête"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input_line
msgid "Survey User Input Line for extra fields"
msgstr "Enquête sur la ligne d'entrée de l'utilisateur pour des champs supplémentaires"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input
msgid "Survey User Input for custom matrix"
msgstr "Entrée des utilisateurs de l'enquête pour la matrice personnalisée"
#. module: sh_survey_all_in_one
#: model:ir.actions.act_window,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_action
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_settings
#: model:ir.ui.menu,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_menu
msgid "Survmate Settings"
msgstr "Paramètres des survivants"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_survmate_settings_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_form_inherit
msgid "Survmate Theme"
msgstr "Thème des survivants"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_theme_button_design_wizard
msgid "Survmate Theme Button Design"
msgstr "Conception du bouton de thème de survim"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_pattern
msgid "Textbox Pattern"
msgstr "Modèle de zone de texte"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_placeholder
msgid "Textbox Placeholder"
msgstr "TextBox Payholder"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Theme Preview"
msgstr "Aperçu du thème"
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an URL."
msgstr "Cette réponse doit être une URL."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an email address."
msgstr "Cette réponse doit être une adresse e-mail."
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This is not a date"
msgstr "Ce n'est pas une date"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_time
msgid "Time"
msgstr "Temps"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_step
msgid "Time Step"
msgstr "Pas de temps"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_url
msgid "URL"
msgstr "URL"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_city
msgid "Value Ans Sh City"
msgstr "Value Ans Sh City"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street
msgid "Value Ans Sh Street"
msgstr "Valeur Ans SH Street"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street2
msgid "Value Ans Sh Street2"
msgstr "Valeur Ans SH Street2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_zip
msgid "Value Ans Sh Zip"
msgstr "Valeur ANS SH ZIP"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_week
msgid "Week"
msgstr "La semaine"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_step
msgid "Week Step"
msgstr "Pas de semaine"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Zip Code"
msgstr "Code postal"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "[0-9]{4}"
msgstr "[0-9] {4}"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "e.g. Theme Settings for Survey A"
msgstr "par exemple. Paramètres de thème pour l'enquête a"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_email
msgid "example@domain.com"
msgstr "example@domain.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_time
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_url
msgid "https://example.com"
msgstr "https://example.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "nnnn"
msgstr "nnnn"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "preview image"
msgstr "Aperçu de l'image"

View File

@@ -0,0 +1,841 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sh_survey_all_in_one
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-28 07:30+0000\n"
"PO-Revision-Date: 2022-06-28 07:30+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_textbox_for_pattern
msgid "#{question.validation_sh_textbox_placeholder}"
msgstr "#{question.validation_sh_textbox_placeholder}"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__10
msgid "10"
msgstr "10"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__11
msgid "11"
msgstr "11"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__sh_survmate_theme_grid_type__12
msgid "12"
msgstr "12"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "18:00"
msgstr "18:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "20"
msgstr "20"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-03"
msgstr "2018-03"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-05"
msgstr "2018-05"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W18"
msgstr "2018-W18"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "2018-W26"
msgstr "2018-W26"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "60 (In seconds)"
msgstr "60 (In seconds)"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "9:00"
msgstr "9:00"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid ""
"<span style=\"display: block;\">Result:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
msgstr ""
"<span style=\"display: block;\">結果:</span>\n"
" <code id=\"js_id_sh_survey_barcode_mobile_result\"/>"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "<strong style=\"align-self: center;\" class=\"col-3\">Camera</strong>"
msgstr "<strong style=\"align-self: center;\" class=\"col-3\">相機</strong>"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survey_matrix_adv/models/survey.py:0
#, python-format
msgid "A question is either skipped, either answered. Not both."
msgstr "一個問題要么被跳過,要么回答。不是都。"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_address
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_address
msgid "Address"
msgstr "地址"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_answer_color
msgid "Answer Color"
msgstr "回答顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_answer_text_color
msgid "Answer Text Color"
msgstr "回答文字顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__answer_type
msgid "Answer Type"
msgstr "答案類型"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_bg_color
msgid "Background Color"
msgstr "背景顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_barcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_barcode
msgid "Barcode"
msgstr "條碼"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Barcode Scanner"
msgstr "條形碼掃描器"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_button_style
msgid "Button Style"
msgstr "按鈕樣式"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Cancel"
msgstr "取消"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_checkbox_style
msgid "Checkbox Style"
msgstr "複選框樣式"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_value_type
msgid "Choices Type"
msgstr "選擇類型"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "City"
msgstr "城市"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_signature
msgid "Clear"
msgstr "清除"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_file_print
msgid "Click here to download file"
msgstr "單擊此處下載文件"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.survey_page_fill
msgid "Close"
msgstr "關"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_color
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_color
msgid "Color"
msgstr "顏色"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Colors"
msgstr "顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_country_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country"
msgstr "國家"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Country..."
msgstr "國家..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_uid
msgid "Created by"
msgstr "由...製作"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__create_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__create_date
msgid "Created on"
msgstr "創建於"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__matrix_subtype__sh_custom_matrix
msgid "Custom Matrix"
msgstr "自定義矩陣"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__date
msgid "Date"
msgstr "日期"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__datetime
msgid "Datetime"
msgstr "約會時間"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__display_name
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__display_name
msgid "Display Name"
msgstr "顯示名稱"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_email
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_email
msgid "E-mail"
msgstr "電子郵件"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_file
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_file
msgid "File"
msgstr "文件"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_file_fname
msgid "File Name"
msgstr "文件名"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_survmate_theme_grid_type
msgid "Grid"
msgstr "網格"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_ir_http
msgid "HTTP Routing"
msgstr "HTTP路由"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__id
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__id
msgid "ID"
msgstr "ID"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__access_token
msgid "Identification token"
msgstr "識別令牌"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__img_src
msgid "Image Src"
msgstr "圖像SRC"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question
msgid "Inherit Survey Question for extra fields"
msgstr "繼承額外領域的調查問題"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_input_style
msgid "Input Style"
msgstr "輸入樣式"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_is_sh_textbox_pattern
msgid "Input must be in specified pattern"
msgstr "輸入必須採用指定模式"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_is_time_fixed
msgid "Is Fixed Timer Position?"
msgstr "固定計時器位置嗎?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings____last_update
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard____last_update
msgid "Last Modified on"
msgstr "最後修改"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_uid
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_uid
msgid "Last Updated by"
msgstr "最後更新"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__write_date
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_theme_button_design_wizard__write_date
msgid "Last Updated on"
msgstr "最後更新"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_latitude
msgid "Latitude"
msgstr "緯度"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_question_form_inherit
msgid "Layout"
msgstr "佈局"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_location
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_location
msgid "Location"
msgstr "地點"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_sh_location_longitude
msgid "Longitude"
msgstr "經度"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2many
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2many
msgid "Many2many"
msgstr "許多人"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_many2one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_many2one
msgid "Many2one"
msgstr "許多2one"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__matrix_subtype
msgid "Matrix Type"
msgstr "矩陣類型"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_max
msgid "Maximum"
msgstr "最大"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_max
msgid "Maximum Month"
msgstr "最大月份"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_max
msgid "Maximum Range"
msgstr "最大範圍"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_max
msgid "Maximum Time"
msgstr "最大時間"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_max
msgid "Maximum Week"
msgstr "最高週"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_min
msgid "Minimum"
msgstr "最低限度"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_min
msgid "Minimum Month"
msgstr "最低月"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_min
msgid "Minimum Range"
msgstr "最小範圍"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_min
msgid "Minimum Time"
msgstr "最短時間"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_min
msgid "Minimum Week"
msgstr "至少一周"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2many_model_id
msgid "Model"
msgstr "模型"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__que_sh_many2one_model_id
msgid "Model "
msgstr "模型"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_month
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_month
msgid "Month"
msgstr "月"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_month_step
msgid "Month Step"
msgstr "月步"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__free_text
msgid "Multiple Lines Text Box"
msgstr "多行文本框"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__name
msgid "Name"
msgstr "姓名"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__numerical_box
msgid "Numerical Value"
msgstr "數值"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_password
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_password
msgid "Password"
msgstr "密碼"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_maxlen
msgid "Password Maximum Length"
msgstr "密碼最大長度"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_password_minlen
msgid "Password Minimum Length"
msgstr "密碼最小長度"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Preview"
msgstr "預習"
#. module: sh_survey_all_in_one
#: code:addons/sh_survey_all_in_one/sh_survmate_theme/models/survey.py:0
#, python-format
msgid "Preview Style"
msgstr "預覽樣式"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_primary_color
msgid "Primary Color"
msgstr "原色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_qrcode
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_qrcode
msgid "QR Code"
msgstr "二維碼"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_question_color
msgid "Question Color"
msgstr "問題顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__question_type
msgid "Question Type"
msgstr "問題類型"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_radio_button_style
msgid "Radio Button Style"
msgstr "廣播按鈕樣式"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_range
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_range
msgid "Range"
msgstr "範圍"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_range_step
msgid "Range Step"
msgstr "範圍步驟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_theme_secondary_color
msgid "Secondary Color"
msgstr "次要顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_color
msgid "Section Background Color"
msgstr "部分背景顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_title_font_color
msgid "Section Font Color"
msgstr "部分字體顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_section_style
msgid "Section Style"
msgstr "部分樣式"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_many2one
msgid "Select..."
msgstr "選擇..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_sh_survmate_settings__sh_survmate_show_bg_color
msgid "Show Background Color"
msgstr "顯示背景顏色"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_city
msgid "Show City Field?"
msgstr "展示城市場?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_country_id
msgid "Show Country Field?"
msgstr "展示國家領域?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_state_id
msgid "Show State Field?"
msgstr "展示狀態領域?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street
msgid "Show Street Field?"
msgstr "表演街場?"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_street2
msgid "Show Street2 Field?"
msgstr "Show Street2 Field"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__sh_is_show_zip
msgid "Show Zip Field?"
msgstr "顯示Zip字段"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_signature
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_signature
msgid "Signature"
msgstr "簽名"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_signature_src
msgid "Signature src"
msgstr "簽名SRC"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__textbox
msgid "Single Line Text Box"
msgstr "單行文本框"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_state_id
msgid "State"
msgstr "狀態"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province"
msgstr "州 /省"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "State / Province..."
msgstr "州 /省..."
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question_answer__sh_matrix_range_step
msgid "Step"
msgstr "步"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street 2"
msgstr "街2"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Street <span class=\"d-none d-md-inline\"> and Number</span>"
msgstr "街<span class = \“ d-none d-md-inline \”>和數字</span>"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_1
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_1
msgid "Style 1"
msgstr "樣式1"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_2
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_2
msgid "Style 2"
msgstr "樣式2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_3
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_3
msgid "Style 3"
msgstr "樣式3"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_4
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_4
msgid "Style 4"
msgstr "樣式4"
#. module: sh_survey_all_in_one
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_checkbox_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_input_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_radio_button_style__style_5
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__sh_survmate_settings__sh_survmate_section_style__style_5
msgid "Style 5"
msgstr "樣式5"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "Styles"
msgstr "樣式"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_survey
msgid "Survey"
msgstr "民意調查"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_question_answer
msgid "Survey Label"
msgstr "調查標籤"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input_line
msgid "Survey User Input Line for extra fields"
msgstr "調查用戶輸入線的額外字段"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_survey_user_input
msgid "Survey User Input for custom matrix"
msgstr "定制矩陣的調查用戶輸入"
#. module: sh_survey_all_in_one
#: model:ir.actions.act_window,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_action
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_settings
#: model:ir.ui.menu,name:sh_survey_all_in_one.sh_survmate_theme_survey_settings_menu
msgid "Survmate Settings"
msgstr "倖存的設置"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_survey__sh_survmate_settings_id
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_form_inherit
msgid "Survmate Theme"
msgstr "倖存的主題"
#. module: sh_survey_all_in_one
#: model:ir.model,name:sh_survey_all_in_one.model_sh_survmate_theme_button_design_wizard
msgid "Survmate Theme Button Design"
msgstr "倖存的主題按鈕設計"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_pattern
msgid "Textbox Pattern"
msgstr "文本框圖案"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_textbox_placeholder
msgid "Textbox Placeholder"
msgstr "TextBox佔位符"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "Theme Preview"
msgstr "主題預覽"
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an URL."
msgstr "這個答案必須是一個URL。"
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This answer must be an email address."
msgstr "此答案必須是電子郵件地址。"
#. module: sh_survey_all_in_one
#. openerp-web
#: code:addons/sh_survey_all_in_one/static/src/js/extra_addons/sh_survey_extra_fields/survey_form.js:0
#, python-format
msgid "This is not a date"
msgstr "這不是約會"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_time
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_time
msgid "Time"
msgstr "時間"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_time_step
msgid "Time Step"
msgstr "時間步驟"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_url
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_url
msgid "URL"
msgstr "URL"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_city
msgid "Value Ans Sh City"
msgstr "價值Ans Sh City"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street
msgid "Value Ans Sh Street"
msgstr "價值ANS SH街"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_street2
msgid "Value Ans Sh Street2"
msgstr "價值ANS SH Street2"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_zip
msgid "Value Ans Sh Zip"
msgstr "價值Ans SH Zip"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_user_input_line__value_ans_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question__question_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_question_answer__sh_value_type__que_sh_week
#: model:ir.model.fields.selection,name:sh_survey_all_in_one.selection__survey_user_input_line__answer_type__ans_sh_week
msgid "Week"
msgstr "星期"
#. module: sh_survey_all_in_one
#: model:ir.model.fields,field_description:sh_survey_all_in_one.field_survey_question__validation_sh_week_step
msgid "Week Step"
msgstr "週步"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_address
msgid "Zip Code"
msgstr "郵政編碼"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "[0-9]{4}"
msgstr "[0-9] {4}"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_survey_settings_form
msgid "e.g. Theme Settings for Survey A"
msgstr "例如調查主題設置"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_email
msgid "example@domain.com"
msgstr "示例@domain.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.matrix
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_time
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.tmpl_sh_url
msgid "https://example.com"
msgstr "https://example.com"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survey_extra_fields_survey_que_form_view
msgid "nnnn"
msgstr "nnnn"
#. module: sh_survey_all_in_one
#: model_terms:ir.ui.view,arch_db:sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view
msgid "preview image"
msgstr "預覽圖像"

View File

@@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_survmate_settings_all,access.survmate.settings.all,model_sh_survmate_settings,,1,1,1,1
access_sh_survmate_theme_button_design_wizard,access.sh.survmate.theme.button.design.wizard,model_sh_survmate_theme_button_design_wizard,,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_survmate_settings_all access.survmate.settings.all model_sh_survmate_settings 1 1 1 1
3 access_sh_survmate_theme_button_design_wizard access.sh.survmate.theme.button.design.wizard model_sh_survmate_theme_button_design_wizard 1 1 1 1

View File

@@ -0,0 +1,4 @@
# Part of Softhealer Technologies.
from . import models
from . import controllers

View File

@@ -0,0 +1,3 @@
# Part of Softhealer Technologies.
from . import sh_survey_extra_fields

View File

@@ -0,0 +1,84 @@
# Part of Softhealer Technologies.
from odoo import http
from odoo.http import request
class SurveyController(http.Controller):
@http.route(['/survey/get_many2many_field_data'], type='json', auth="public", methods=['POST'])
def get_many2many_field_data(self, **kw):
records = []
rec_name = False
if kw.get("model_id",False):
modelRecord = request.env["ir.model"].sudo().search([
('id','=',kw.get("model_id") )
],limit = 1)
if modelRecord:
modelRecord = modelRecord.sudo();
rec_name = modelRecord._rec_name
rec_name = 'display_name'
records = request.env[modelRecord.model].sudo().search_read([],fields=[rec_name,'id'])
# give any rec_name value to name key in record in order to use in js.
if records:
records = [dict(item, name=item.get(rec_name)) for item in records]
return dict(
records = records,
rec_name = rec_name,
)
@http.route(['/survey/get_many2one_field_data'], type='json', auth="public", methods=['POST'])
def get_many2one_field_data(self, **kw):
records = []
rec_name = False
if kw.get("model_id",False):
modelRecord = request.env["ir.model"].sudo().search([
('id','=',kw.get("model_id") )
],limit = 1)
if modelRecord:
modelRecord = modelRecord.sudo();
rec_name = modelRecord._rec_name
records = request.env[modelRecord.model].sudo().search_read([],fields=[rec_name,'id'])
# give any rec_name value to name key in record in order to use in js.
if records:
records = [dict(item, name=item.get(rec_name)) for item in records]
return dict(
records = records,
rec_name = rec_name,
)
@http.route(['/survey/get_countries'], type='json', auth="public", methods=['POST'])
def get_countries(self,**kw):
return dict(
countries = request.env["res.country"].sudo().search_read([],fields=['name','id']),
country_states = request.env["res.country"].state_ids,
)
@http.route(['/survey/get_ountry_info/<model("res.country"):country>'], type='json', auth="public", methods=['POST'])
def get_ountry_info(self, country,**kw):
return dict(
states=[(st.id, st.name, st.code) for st in country.state_ids],
phone_code=country.phone_code,
zip_required=country.zip_required,
state_required=country.state_required,
)
@http.route('/survey/download/<string:answer_id>/<string:question_id>/<string:answer_token>', type='http', auth='public', website=True)
def survey_download_file(self, **post):
base_url = request.env['ir.config_parameter'].sudo(
).get_param('web.base.url')
download_url = base_url
if base_url and post.get('answer_id') and post.get('question_id') and post.get('answer_token'):
input_line_id = request.env['survey.user_input.line'].sudo().search([('user_input_id.access_token', '=', post.get(
'answer_token')), ('question_id', '=', int(post.get('question_id'))), ('user_input_id', '=', int(post.get('answer_id')))], limit=1)
if input_line_id:
download_url += '/web/content/survey.user_input.line/' + \
str(input_line_id.id)+'/value_ans_sh_file?download=true&access_token=' + post.get('answer_token')
return request.redirect(download_url)

View File

@@ -0,0 +1,4 @@
# Part of Softhealer Technologies.
from . import survey
from . import ir_http

View File

@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
from odoo import models
class Http(models.AbstractModel):
_inherit = 'ir.http'
def binary_content(self, xmlid=None, model='ir.attachment', id=None, field='datas',
unique=False, filename=None, filename_field='name', download=False,
mimetype=None, default_mimetype='application/octet-stream',
access_token=None):
obj = None
if xmlid:
obj = self._xmlid_to_obj(self.env, xmlid)
if id and model == 'survey.user_input.line' and access_token:
obj = self.env[model].browse(int(id))
if obj and obj.sudo().access_token == access_token:
obj = obj.sudo()
self = self.sudo()
if obj:
obj.check_access_rights('read')
obj.check_access_rule('read')
return super(Http, self).binary_content(
xmlid=xmlid, model=model, id=id, field=field, unique=unique, filename=filename,
filename_field=filename_field, download=download, mimetype=mimetype,
default_mimetype=default_mimetype, access_token=access_token)

View File

@@ -0,0 +1,634 @@
# Part of Softhealer Technologies.
import base64
import datetime
import logging
import re
from odoo import api, fields, models
email_validator = re.compile(r"[^@]+@[^@]+\.[^@]+")
_logger = logging.getLogger(__name__)
from urllib import parse
class SurveyQuestion(models.Model):
_inherit = 'survey.question'
_description = 'Inherit Survey Question for extra fields'
def _get_stats_summary_data(self, user_input_lines):
stats = {}
if self.question_type in ['simple_choice', 'multiple_choice','que_sh_many2one','que_sh_many2many']:
stats.update(self._get_stats_summary_data_choice(user_input_lines))
elif self.question_type == 'numerical_box':
stats.update(self._get_stats_summary_data_numerical(user_input_lines))
if self.question_type in ['numerical_box', 'date', 'datetime']:
stats.update(self._get_stats_summary_data_scored(user_input_lines))
return stats
def _get_stats_data(self, user_input_lines):
if self.question_type == 'simple_choice':
return self._get_stats_data_answers(user_input_lines)
elif self.question_type == 'que_sh_many2one':
return self._get_stats_data_answers(user_input_lines)
elif self.question_type == 'que_sh_many2many':
table_data, graph_data = self._get_stats_data_answers(user_input_lines)
return table_data, [{'key': self.title, 'values': graph_data}]
elif self.question_type == 'multiple_choice':
table_data, graph_data = self._get_stats_data_answers(user_input_lines)
return table_data, [{'key': self.title, 'values': graph_data}]
elif self.question_type == 'matrix':
return self._get_stats_graph_data_matrix(user_input_lines)
return [line for line in user_input_lines], []
validation_sh_time_min = fields.Char('Minimum Time')
validation_sh_time_max = fields.Char('Maximum Time')
validation_sh_time_step = fields.Integer('Time Step', default=60)
validation_sh_range_min = fields.Integer('Minimum Range')
validation_sh_range_max = fields.Integer('Maximum Range')
validation_sh_range_step = fields.Integer('Range Step')
validation_sh_week_min = fields.Char('Minimum Week')
validation_sh_week_max = fields.Char('Maximum Week')
validation_sh_week_step = fields.Integer('Week Step', default=1)
validation_sh_month_min = fields.Char('Minimum Month')
validation_sh_month_max = fields.Char('Maximum Month')
validation_sh_month_step = fields.Integer('Month Step', default=1)
validation_sh_password_minlen = fields.Integer('Password Minimum Length')
validation_sh_password_maxlen = fields.Integer('Password Maximum Length')
#for pattern in odoo standard textbox
validation_is_sh_textbox_pattern = fields.Boolean(
'Input must be in specified pattern')
validation_sh_textbox_pattern = fields.Char('Textbox Pattern')
validation_sh_textbox_placeholder = fields.Char('Textbox Placeholder')
que_sh_many2one_model_id = fields.Many2one(comodel_name="ir.model", string="Model ")
que_sh_many2many_model_id = fields.Many2one(comodel_name="ir.model", string="Model")
# address fields
sh_is_show_street = fields.Boolean(string="Show Street Field?",default = True)
sh_is_show_street2 = fields.Boolean(string="Show Street2 Field?",default = True)
sh_is_show_zip = fields.Boolean(string="Show Zip Field?",default = True)
sh_is_show_city = fields.Boolean(string="Show City Field?",default = True)
sh_is_show_state_id = fields.Boolean(string="Show State Field?",default = True)
sh_is_show_country_id = fields.Boolean(string="Show Country Field?",default = True)
# address fields labels
sh_is_show_street_label = fields.Char(
string='Street Label',
translate=True
)
sh_is_show_street2_label = fields.Char(
string='Street 2 Label',
translate=True
)
sh_is_show_zip_label = fields.Char(
string='Zip Label',
translate=True
)
sh_is_show_city_label = fields.Char(
string='City Label',
translate=True
)
sh_is_show_country_id_label = fields.Char(
string='Country Label',
translate=True
)
sh_is_show_state_id_label = fields.Char(
string='State Label',
translate=True
)
question_type = fields.Selection(selection_add=[
('que_sh_color', 'Color'),
('que_sh_email', 'E-mail'),
('que_sh_url', 'URL'),
('que_sh_time', 'Time'),
('que_sh_range', 'Range'),
('que_sh_week', 'Week'),
('que_sh_month', 'Month'),
('que_sh_password', 'Password'),
('que_sh_file', 'File'),
('que_sh_signature', 'Signature'),
('que_sh_many2one', 'Many2one'),
('que_sh_many2many', 'Many2many'),
('que_sh_address', 'Address'),
])
# ------------------------------------------------------------
# VALIDATION
# ------------------------------------------------------------
def validate_question(self, answer, comment=None):
""" Validate question, depending on question type and parameters
for simple choice, text, date and number, answer is simply the answer of the question.
For other multiple choices questions, answer is a list of answers (the selected choices
or a list of selected answers per question -for matrix type-):
- Simple answer : answer = 'example' or 2 or question_answer_id or 2019/10/10
- Multiple choice : answer = [question_answer_id1, question_answer_id2, question_answer_id3]
- Matrix: answer = { 'rowId1' : [colId1, colId2,...], 'rowId2' : [colId1, colId3, ...] }
return dict {question.id (int): error (str)} -> empty dict if no validation error.
"""
self.ensure_one()
if isinstance(answer, str):
answer = answer.strip()
# Empty answer to mandatory question
if self.constr_mandatory and not answer and self.question_type not in ['simple_choice', 'multiple_choice']:
return {self.id: self.constr_error_msg}
# because in choices question types, comment can count as answer
if answer or self.question_type in ['simple_choice', 'multiple_choice']:
if self.question_type == 'char_box':
return self._validate_char_box(answer)
elif self.question_type == 'numerical_box':
return self._validate_numerical_box(answer)
elif self.question_type in ['date', 'datetime']:
return self._validate_date(answer)
elif self.question_type in ['simple_choice', 'multiple_choice']:
return self._validate_choice(answer, comment)
elif self.question_type == 'matrix':
return self._validate_matrix(answer)
elif self.question_type == 'que_sh_color':
return self.validate_que_sh_color(answer)
elif self.question_type == 'que_sh_email':
return self.validate_que_sh_email(answer)
elif self.question_type == 'que_sh_url':
return self.validate_que_sh_url(answer)
elif self.question_type == 'que_sh_time':
return self.validate_que_sh_time(answer)
elif self.question_type == 'que_sh_range':
return self.validate_que_sh_range(answer)
elif self.question_type == 'que_sh_week':
return self.validate_que_sh_week(answer)
elif self.question_type == 'que_sh_month':
return self.validate_que_sh_month(answer)
elif self.question_type == 'que_sh_password':
return self.validate_que_sh_password(answer)
elif self.question_type == 'que_sh_file':
return self.validate_que_sh_file(answer)
elif self.question_type == 'que_sh_signature':
return self.validate_que_sh_signature(answer)
elif self.question_type == 'que_sh_many2one':
return self.validate_que_sh_many2one(answer)
elif self.question_type == 'que_sh_many2many':
return self.validate_que_sh_many2many(answer)
elif self.question_type == 'que_sh_address':
return self.validate_que_sh_address(answer)
return {}
# ====================================================================
#for color field.
# ====================================================================
def validate_que_sh_color(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for email field.
# ====================================================================
def validate_que_sh_email(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for url field.
# ====================================================================
def validate_que_sh_url(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for time field.
# ====================================================================
def validate_que_sh_time(self, answer):
isData = self.question_type == 'que_sh_time'
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
if self.validation_required:
# Check if answer is in the right range
if isData:
min_date = datetime.datetime.strptime(
self.validation_sh_time_min, '%H:%M')
max_date = datetime.datetime.strptime(
self.validation_sh_time_max, '%H:%M')
answer = datetime.datetime.strptime(answer, '%H:%M')
if answer < min_date or answer > max_date:
return {self.id: self.validation_error_msg}
return {}
# ====================================================================
#for Range field.
# ====================================================================
def validate_que_sh_range(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Week field.
# ====================================================================
def validate_que_sh_week(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Month field.
# ====================================================================
def validate_que_sh_month(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Password field.
# ====================================================================
def validate_que_sh_password(self, answer):
isData = self.question_type == 'que_sh_password'
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
if self.validation_required:
# Check if answer is in the right range
if isData:
minlen = self.validation_sh_password_minlen
maxlen = self.validation_sh_password_maxlen
if len(answer) < minlen or len(answer) > maxlen:
return {self.id: self.validation_error_msg}
return {}
# ====================================================================
#for File field.
# ====================================================================
def validate_que_sh_file(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Signature Field.
# ====================================================================
def validate_que_sh_signature(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Many2one Field.
# ====================================================================
def validate_que_sh_many2one(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Many2many Field.
# ====================================================================
def validate_que_sh_many2many(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Address Field.
# ====================================================================
def validate_que_sh_address(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
class SurveyUserInput(models.Model):
_inherit = 'survey.user_input'
# def save_lines(self, question, answer, comment=None):
# """ Save answers to questions, depending on question type
#
# If an answer already exists for question and user_input_id, it will be
# overwritten (or deleted for 'choice' questions) (in order to maintain data consistency).
# """
# old_answers = self.env['survey.user_input.line'].search([
# ('user_input_id', '=', self.id),
# ('question_id', '=', question.id)
# ])
#
# if question.question_type in ['char_box', 'text_box', 'numerical_box', 'date', 'datetime']:
# self._save_line_simple_answer(question, old_answers, answer)
# if question.save_as_email and answer:
# self.write({'email': answer})
# if question.save_as_nickname and answer:
# self.write({'nickname': answer})
#
# elif question.question_type in ['simple_choice', 'multiple_choice']:
# self._save_line_choice(question, old_answers, answer, comment)
# elif question.question_type == 'matrix':
# self._save_line_matrix(question, old_answers, answer, comment)
# elif question.question_type in ['que_sh_color']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_color')
# elif question.question_type in ['que_sh_email']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_email')
# elif question.question_type in ['que_sh_url']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_url')
# elif question.question_type in ['que_sh_time']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_time')
# elif question.question_type in ['que_sh_range']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_range')
# elif question.question_type in ['que_sh_week']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_week')
# elif question.question_type in ['que_sh_month']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_month')
# elif question.question_type in ['que_sh_password']:
# self.save_line_que_sh_field(
# question, old_answers, answer, 'ans_sh_password')
# elif question.question_type in ['que_sh_file']:
# self.save_line_que_sh_file(
# question, old_answers, answer, 'ans_sh_file')
# elif question.question_type in ['que_sh_signature']:
# self.save_line_que_sh_signature(
# question, old_answers, answer, 'ans_sh_signature')
# elif question.question_type in ['que_sh_address']:
# self.save_line_que_sh_address(
# question, old_answers, answer, 'ans_sh_address')
#
# elif question.question_type in ['que_sh_many2one']:
# self.save_line_que_sh_many2one(
# question, old_answers, answer, 'ans_sh_many2one')
#
# elif question.question_type in ['que_sh_many2many']:
# self.save_line_que_sh_many2many(
# question, old_answers, answer, 'ans_sh_many2many')
#
# else:
# raise AttributeError(question.question_type +
# ": This type of question has no saving function")
# ====================================================================
#for color field.
# ====================================================================
@api.model
def save_line_que_sh_field(self, question, old_answers, answer, answer_type):
vals_list = []
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': answer_type,
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
vals['value_%s' % answer_type] = answer
vals_list.append(vals)
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
@api.model
def save_line_que_sh_file(self, question, old_answers, answer, answer_type):
vals_list = []
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': answer_type,
'value_ans_sh_file': answer,
'value_ans_sh_file_fname': question.title,
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
vals['value_%s' % answer_type] = answer
vals_list.append(vals)
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
@api.model
def save_line_que_sh_signature(self, question, old_answers, answer, answer_type):
vals_list = []
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': answer_type,
'value_ans_sh_signature': answer,
'value_ans_sh_signature_src': answer,
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
vals['value_%s' % answer_type] = answer
vals_list.append(vals)
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
# ------------------------------
# Address Fields.
# ------------------------------
@api.model
def save_line_que_sh_address(self, question, old_answers, answer, answer_type):
vals_list = []
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': answer_type,
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
# Add individual address fields in vals here
query_dict = dict(parse.parse_qsl(answer)) or {}
vals["value_ans_sh_street"] = query_dict.get('street',False)
vals["value_ans_sh_street2"] = query_dict.get('street2',False)
vals["value_ans_sh_city"] = query_dict.get('city',False)
vals["value_ans_sh_zip"] = query_dict.get('zip',False)
vals["value_ans_sh_state_id"] = query_dict.get('state_id',False)
vals["value_ans_sh_country_id"] = query_dict.get('country_id',False)
# TO AVOID ERROR BELOW IS NECESSARY
street = query_dict.get('street','')
street2 = query_dict.get('street2','')
city = query_dict.get('city','')
zip = query_dict.get('zip','')
state_id = query_dict.get('state_id','')
country_id = query_dict.get('country_id','')
if street:
street += ' '
if street2:
street2 += ' '
if city:
city += ' '
if zip:
zip += ' '
if state_id:
integer_state_id = state_id
if type(state_id) != int:
integer_state_id = int(state_id)
state = self.env["res.country.state"].sudo().browse([integer_state_id])
if state:
state_id = state.name
state_id += ' '
if country_id:
integer_country_id = country_id
if type(country_id) != int:
integer_country_id = int(country_id)
country = self.env["res.country"].sudo().browse([integer_country_id])
if country:
country_id = country.name
country_id += ' '
complete_address = street + street2 + city + zip + state_id + country_id
vals["value_ans_sh_address"] = complete_address or False
vals_list.append(vals)
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
@api.model
def save_line_que_sh_many2one(self, question, old_answers, answer, answer_type):
vals_list = []
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': 'suggestion',
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
# ---------------------------------------------------------------
# To Make Many2one fields like Multiple Choice only one answer.
suggested_answer = self.env["survey.question.answer"].search([
('question_id','=',question.id),
('value','=',answer),
],limit = 1)
if not suggested_answer:
suggested_answer = self.env["survey.question.answer"].create({
'question_id':question.id,
'value':answer,
})
if suggested_answer:
vals['suggested_answer_id'] = suggested_answer.id
# To Make Many2one fields like Multiple Choice only one answer.
# ---------------------------------------------------------------
vals_list.append(vals)
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
@api.model
def save_line_que_sh_many2many(self, question, old_answers, answers, answer_type):
vals_list = []
if not (isinstance(answers, list)):
answers = [answers]
for answer in answers:
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': 'suggestion',
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
# ---------------------------------------------------------------
# To Make Many2one fields like Multiple Choice only one answer.
suggested_answer = self.env["survey.question.answer"].search([
('question_id','=',question.id),
('value','=',answer),
],limit = 1)
if not suggested_answer:
suggested_answer = self.env["survey.question.answer"].create({
'question_id':question.id,
'value':answer,
})
if suggested_answer:
vals['suggested_answer_id'] = suggested_answer.id
# To Make Many2one fields like Multiple Choice only one answer.
# ---------------------------------------------------------------
vals_list.append(vals)
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
class SurveyUserInputLine(models.Model):
_inherit = 'survey.user_input.line'
_description = 'Survey User Input Line for extra fields'
value_ans_sh_color = fields.Char(string="Color")
value_ans_sh_email = fields.Char(string="E-mail")
value_ans_sh_url = fields.Char(string="URL")
value_ans_sh_time = fields.Char(string="Time")
value_ans_sh_range = fields.Integer(string="Range")
value_ans_sh_week = fields.Char(string="Week")
value_ans_sh_month = fields.Char(string="Month")
value_ans_sh_password = fields.Char(string="Password")
value_ans_sh_file = fields.Binary(string="File")
value_ans_sh_file_fname = fields.Char(string="File Name")
value_ans_sh_signature = fields.Binary(string="Signature")
value_ans_sh_signature_src = fields.Text(string="Signature src")
value_ans_sh_many2one = fields.Char(string="Many2one")
value_ans_sh_many2many = fields.Char(string="Many2many")
# address fields
value_ans_sh_street = fields.Char()
value_ans_sh_street2 = fields.Char()
value_ans_sh_zip = fields.Char()
value_ans_sh_city = fields.Char()
value_ans_sh_state_id = fields.Many2one("res.country.state", string='State')
value_ans_sh_country_id = fields.Many2one('res.country', string='Country')
value_ans_sh_address = fields.Text(string ="Address")
answer_type = fields.Selection(selection_add=[
('ans_sh_color', 'Color'),
('ans_sh_email', 'E-mail'),
('ans_sh_url', 'URL'),
('ans_sh_time', 'Time'),
('ans_sh_range', 'Range'),
('ans_sh_week', 'Week'),
('ans_sh_month', 'Month'),
('ans_sh_password', 'Password'),
('ans_sh_file', 'File'),
('ans_sh_signature', 'Signature'),
('ans_sh_many2one', 'Many2one'),
('ans_sh_many2many', 'Many2many'),
('ans_sh_address', 'Address'),
])
access_token = fields.Char('Identification token',
related="user_input_id.access_token",
readonly=False, store= True)

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="sh_survey_extra_fields_survey_page_statistics_question" inherit_id="survey.survey_page_statistics_question" name="Survey Extra Fields Question: result statistics">
<xpath expr='//t[@t-elif=&quot;question.question_type in [&apos;matrix&apos;]&quot;]' position="after">
<t t-elif="question.question_type in ['que_sh_many2one','que_sh_many2many']">
<t t-call="survey.question_result_choice"></t>
</t>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,504 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- For Add pattern attribute in odoo standard textbox -->
<template id="tmpl_sh_textbox_for_pattern" inherit_id="survey.question_char_box" name="Text box">
<xpath expr="//input" position="replace">
<t t-if="question.validation_is_sh_textbox_pattern">
<input
type="text"
class="form-control o_survey_question_text_box bg-transparent text-dark rounded-0 p-0"
t-attf-pattern="#{question.validation_sh_textbox_pattern}"
t-attf-placeholder="#{question.validation_sh_textbox_placeholder}"
t-att-name="question.id"
t-att-value="answer_lines[0].value_char_box if answer_lines else None"
t-att-data-question-type="question.question_type"
t-att-data-validation-length-min="question.validation_length_min if question.validation_required else False"
t-att-data-validation-length-max="question.validation_length_max if question.validation_required else False"/>
</t>
<t t-else="">
<input t-att-type="'email' if question.validation_email else 'text'"
class="form-control o_survey_question_text_box bg-transparent text-dark rounded-0 p-0" t-att-name="question.id"
t-att-value="answer_lines[0].value_char_box if answer_lines else None"
t-att-data-question-type="question.question_type"
t-att-data-validation-length-min="question.validation_length_min if question.validation_required else False"
t-att-data-validation-length-max="question.validation_length_max if question.validation_required else False"/>
</t>
</xpath>
</template>
<!-- template for color -->
<template id="tmpl_sh_color" name="SH Color">
<input
type="color"
class="form-control o_survey_question_color_box bg-transparent text-dark rounded-0 p-2"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_color if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
</template>
<!-- template for email -->
<template id="tmpl_sh_email" name="SH email">
<input
type="email"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_email if answer_lines else None"
placeholder="example@domain.com"
t-att-data-question-type="question.question_type"
/>
</template>
<!-- template for url -->
<template id="tmpl_sh_url" name="SH URL">
<input
type="url"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_url if answer_lines else None"
placeholder="https://example.com"
t-att-data-question-type="question.question_type"
/>
</template>
<!-- template for Time -->
<template id="tmpl_sh_time" name="SH Time">
<t t-if="question.validation_required">
<input
type="time"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_time if answer_lines else None"
t-attf-min="#{question.validation_sh_time_min}"
t-attf-max="#{question.validation_sh_time_max}"
t-attf-step="#{question.validation_sh_time_step}"
placeholder="https://example.com"
t-att-data-question-type="question.question_type"
/>
</t>
<t t-if="question.validation_required == False">
<input
type="time"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_time if answer_lines else None"
placeholder="https://example.com"
t-att-data-question-type="question.question_type"
/>
</t>
</template>
<!-- template for Range -->
<template id="tmpl_sh_range" name="SH Range">
<t t-if="question.validation_required">
<input
type="range"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_range if answer_lines else None"
t-attf-max="#{question.validation_sh_range_max}"
t-attf-min="#{question.validation_sh_range_min}"
t-attf-step="#{question.validation_sh_range_step}"
t-att-data-question-type="question.question_type"
style='padding: 0 !important;height:8px;overflow: inherit;'
/>
<label t-attf-id="#{question.id}" class='range_value d-block text-center mt-2' style='height: 22px;color:#212121;margin-top:0.4rem;'>
<span style='color:#212121;margin-top:1rem;' t-out="answer_lines[0].value_ans_sh_range if answer_lines else None"/>
</label>
</t>
<t t-if="question.validation_required == False">
<input
type="range"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_range if answer_lines else None"
t-att-data-question-type="question.question_type"
style='padding: 0 !important;height:8px;overflow: inherit;'
/>
<!-- t-attf-oninput="document.getElementById(#{question.id}).innerHTML = this.value" -->
<label t-attf-id="#{question.id}" class='range_value d-block text-center mt-2' style='height: 22px;color:#212121;margin-top:0.4rem;'>
<span t-out="answer_lines[0].value_ans_sh_range if answer_lines else None"/>
</label>
</t>
</template>
<!-- template for Week -->
<template id="tmpl_sh_week" name="SH Week">
<t t-if="question.validation_required">
<input
type="week"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-attf-min="#{question.validation_sh_week_min}"
t-attf-max="#{question.validation_sh_week_max}"
t-attf-step="#{question.validation_sh_week_step}"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_week if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
</t>
<t t-if="question.validation_required == False">
<input
type="week"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_week if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
</t>
</template>
<!-- template for Month -->
<template id="tmpl_sh_month" name="SH Month">
<t t-if="question.validation_required">
<input
type="month"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-attf-min="#{question.validation_sh_month_min}"
t-attf-max="#{question.validation_sh_month_max}"
t-attf-step="#{question.validation_sh_month_step}"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_month if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
</t>
<t t-if="question.validation_required == False">
<input
type="month"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_month if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
</t>
</template>
<!-- template for Password -->
<template id="tmpl_sh_password" name="SH Password">
<t t-if="question.validation_required">
<input
type="password"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-attf-minlength="#{question.validation_sh_password_minlen}"
t-attf-maxlength="#{question.validation_sh_password_maxlen}"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_password if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
</t>
<t t-if="question.validation_required == False">
<input
type="password"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_password if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
</t>
</template>
<!-- template for file -->
<template id="tmpl_sh_file" name="SH File">
<input type="file" class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0 sh_file_input" t-att-id="question.id" />
<input
type="text"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0 sh_file_input_data"
t-att-id="question.id"
t-att-name="question.id"
t-att-value="answer_lines[0].value_ans_sh_password if answer_lines else None"
t-att-data-question-type="question.question_type"
style="display: none;"
/>
</template>
<!-- template for file name for review your survey -->
<template id="tmpl_sh_file_print" name="SH File">
<a t-att-href="'/survey/download/'+str(answer.id)+'/'+str(question.id)+'/'+str(answer.access_token)">Click here to download file</a>
</template>
<!-- template for Many2one -->
<!-- <template id="tmpl_sh_many2one" name="SH Many2one">
<select
t-att-name="question.id"
class="form-control">
<option value="">Country...</option>
<t t-set="sh_m2o_model_records" t-value='request.env[question.que_sh_many2one_model_id.name].sudo().search[()]'/>
<t t-foreach="sh_m2o_model_records" t-as="record">
<option t-att-value="record.id">
<t t-esc="record.name" />
</option>
</t>
</select>
</template> -->
<template id="tmpl_sh_address" name="SH Address">
<div class="form-row js_cls_sh_address_wrapper row">
<div t-if="question.sh_is_show_street" class="form-group col-lg-12 mb-2">
<b t-if='question.sh_is_show_street_label' t-field='question.sh_is_show_street_label'></b>
<input type="text" t-att-data-question-type="question.question_type" t-att-name="question.id" class="js_cls_street form-control" />
</div>
<div t-if="question.sh_is_show_street2" class="form-group col-lg-12 mb-2">
<b t-if='question.sh_is_show_street2_label' t-field='question.sh_is_show_street2_label'></b>
<input type="text" t-att-data-question-type="question.question_type" t-att-name="question.id" class="js_cls_street2 form-control" />
</div>
<div class="w-100" />
<div t-if="question.sh_is_show_city" class="form-group col-md-8 mb-2">
<b t-if='question.sh_is_show_city_label' t-field='question.sh_is_show_city_label'></b>
<input type="text" t-att-data-question-type="question.question_type" t-att-name="question.id" class="js_cls_city form-control" />
</div>
<div t-if="question.sh_is_show_zip" class="form-group col-md-4 mb-2">
<b t-if='question.sh_is_show_zip_label' t-field='question.sh_is_show_zip_label'></b>
<input type="text" t-att-name="question.id" t-att-data-question-type="question.question_type" class="js_cls_zip form-control" />
</div>
<div class="w-100" />
<div t-if="question.sh_is_show_country_id" class="form-group col-lg-6 mb-2">
<b t-if='question.sh_is_show_country_id_label' t-field='question.sh_is_show_country_id_label'></b>
<select id="country_id" t-att-data-question-type="question.question_type" t-att-name="question.id" class="js_cls_country_id form-control">
<option value="" disabled="disabled" selected="selected">Country...</option>
</select>
</div>
<div t-if="question.sh_is_show_state_id" class="form-group col-lg-6 mb-2">
<b t-if='question.sh_is_show_state_id_label' t-field='question.sh_is_show_state_id_label'></b>
<select data-init="1" t-att-data-question-type="question.question_type" t-att-name="question.id" class="js_cls_state_id form-control">
<option value="" disabled="disabled" selected="selected">State / Province...</option>
</select>
</div>
<div class="w-100" />
</div>
</template>
<!--
Many2one
-->
<template id="tmpl_sh_many2one" name="SH Many2one">
<div class="form-row js_cls_sh_many2one_wrapper">
<div class="form-group col-lg-12">
<input t-attf-list="m2o_selection_#{question.id}" style="width:100%;"
type="text" t-att-data-question-type="question.question_type"
t-att-data-model_id="question.que_sh_many2one_model_id.id if question.que_sh_many2one_model_id else False"
t-att-name="question.id" >
<datalist t-attf-id="m2o_selection_#{question.id}"
t-att-data-model_id="question.que_sh_many2one_model_id.id if question.que_sh_many2one_model_id else False"
t-att-name="question.id" class="d-none js_cls_sh_many2one_select form-control">
<option value="">Select...</option>
</datalist>
</input>
</div>
</div>
</template>
<template id="tmpl_sh_many2one_review" name="SH Many2one Review">
<div class="form-row js_cls_sh_many2one_wrapper">
<div class="form-group col-lg-12">
<select
t-att-data-question-type="question.question_type"
t-att-data-model_id="question.que_sh_many2one_model_id.id if question.que_sh_many2one_model_id else False"
t-att-name="question.id" class="js_cls_sh_many2one_select form-control">
<option value="">
<t t-if="answer_lines" t-esc="answer_lines[0].value_ans_sh_many2one or None"/>
</option>
</select>
</div>
</div>
</template>
<template id="tmpl_sh_address_review" name="SH Address Review">
<div class="o_survey_comment_container p-0">
<textarea class="form-control o_survey_question_text_box bg-transparent text-dark rounded-0 p-0" rows="3" t-att-name="question.id"
t-att-data-question-type="question.question_type"><t t-if="answer_lines" t-esc="answer_lines[0].value_ans_sh_address or None"/></textarea>
</div>
</template>
<!-- Many2many -->
<template id="tmpl_sh_many2many" name="SH Many2many">
<div class="form-row js_cls_sh_many2many_wrapper">
<div class="form-group col-lg-12">
<div t-att-data-question-type="question.question_type"
t-att-data-model_id="question.que_sh_many2many_model_id.id if question.que_sh_many2many_model_id else False"
t-att-name="question.id" class="js_cls_sh_many2many_select_div">
<select multiple="multiple" t-att-data-question-type="question.question_type"
t-att-data-model_id="question.que_sh_many2many_model_id.id if question.que_sh_many2many_model_id else False"
t-att-name="question.id" class="d-none js_cls_sh_many2many_select form-control" >
<!-- <option value="">Select...</option> -->
</select>
</div>
</div>
</div>
</template>
<template id="tmpl_sh_many2many_review" name="SH Many2many Review">
<div class="form-row js_cls_sh_many2many_wrapper">
<div class="form-group col-lg-12">
<select
t-att-data-question-type="question.question_type"
t-att-data-model_id="question.que_sh_many2many_model_id.id if question.que_sh_many2many_model_id else False"
t-att-name="question.id" class="js_cls_sh_many2many_select form-control">
<option value="">
<t t-if="answer_lines" t-esc="answer_lines[0].value_ans_sh_many2many or None"/>
</option>
</select>
</div>
</div>
</template>
<!-- Signature -->
<template id="tmpl_sh_signature" name="SH Signature">
<div class="form-row js_cls_sh_signature_wrapper">
<div class="form-group col-lg-12">
<input type="text"
t-att-data-question-type="question.question_type"
t-att-name="question.id" class="js_cls_sh_signature_input d-none form-control"/>
<a href="#" class="btn btn-primary js_cls_sh_signature_clear_btn">
Clear
</a>
<div class="js_cls_sh_signature_pad">
<div class="js_cls_sh_signature_pad_inner"></div>
</div>
</div>
</div>
</template>
<template id="tmpl_sh_signature_review" name="SH Signature Review">
<div class="form-row js_cls_sh_signature_wrapper">
<div class="form-group col-lg-12">
<img
t-att-src="'data:image/png;base64,%s' % (answer_lines[0].value_ans_sh_signature_src if answer_lines else None)"
t-att-data-question-type="question.question_type"
t-att-name="question.id"
/>
</div>
</div>
</template>
<!-- A page -->
<template id="sh_survey_extra_fields_question" inherit_id="survey.question_container" name="Question">
<xpath expr="//div[1]/t" position="after">
<t t-if="question.question_type == 'que_sh_color'"><t t-call="sh_survey_all_in_one.tmpl_sh_color" /></t>
<t t-if="question.question_type == 'que_sh_email'"><t t-call="sh_survey_all_in_one.tmpl_sh_email" /></t>
<t t-if="question.question_type == 'que_sh_url'"><t t-call="sh_survey_all_in_one.tmpl_sh_url" /></t>
<t t-if="question.question_type == 'que_sh_time'"><t t-call="sh_survey_all_in_one.tmpl_sh_time" /></t>
<t t-if="question.question_type == 'que_sh_range'"><t t-call="sh_survey_all_in_one.tmpl_sh_range" /></t>
<t t-if="question.question_type == 'que_sh_week'"><t t-call="sh_survey_all_in_one.tmpl_sh_week" /></t>
<t t-if="question.question_type == 'que_sh_month'"><t t-call="sh_survey_all_in_one.tmpl_sh_month" /></t>
<t t-if="question.question_type == 'que_sh_password'"><t t-call="sh_survey_all_in_one.tmpl_sh_password" /></t>
<t t-if="question.question_type == 'que_sh_file'"><t t-call="sh_survey_all_in_one.tmpl_sh_file" /></t>
<t t-if="question.question_type == 'que_sh_signature'"><t t-call="sh_survey_all_in_one.tmpl_sh_signature" /></t>
<t t-if="question.question_type == 'que_sh_address'"><t t-call="sh_survey_all_in_one.tmpl_sh_address" /></t>
<t t-if="question.question_type == 'que_sh_many2one'"><t t-call="sh_survey_all_in_one.tmpl_sh_many2one" /></t>
<t t-if="question.question_type == 'que_sh_many2many'"><t t-call="sh_survey_all_in_one.tmpl_sh_many2many" /></t>
</xpath>
</template>
<!-- Printable view of a survey (all pages) -->
<template id="sh_survey_extra_fields_survey_print" inherit_id="survey.survey_page_print" name="Survey">
<xpath expr="//div[hasclass('js_question-wrapper')]/t" position="after">
<t t-if="question.question_type == 'que_sh_color'"><t t-call="sh_survey_all_in_one.tmpl_sh_color" /></t>
<t t-if="question.question_type == 'que_sh_email'"><t t-call="sh_survey_all_in_one.tmpl_sh_email" /></t>
<t t-if="question.question_type == 'que_sh_url'"><t t-call="sh_survey_all_in_one.tmpl_sh_url" /></t>
<t t-if="question.question_type == 'que_sh_time'"><t t-call="sh_survey_all_in_one.tmpl_sh_time" /></t>
<t t-if="question.question_type == 'que_sh_range'"><t t-call="sh_survey_all_in_one.tmpl_sh_range" /></t>
<t t-if="question.question_type == 'que_sh_week'"><t t-call="sh_survey_all_in_one.tmpl_sh_week" /></t>
<t t-if="question.question_type == 'que_sh_month'"><t t-call="sh_survey_all_in_one.tmpl_sh_month" /></t>
<t t-if="question.question_type == 'que_sh_password'"><t t-call="sh_survey_all_in_one.tmpl_sh_password" /></t>
<t t-if="question.question_type == 'que_sh_file'"><t t-call="sh_survey_all_in_one.tmpl_sh_file_print" /></t>
<t t-if="question.question_type == 'que_sh_signature'"><t t-call="sh_survey_all_in_one.tmpl_sh_signature_review" /></t>
<t t-if="question.question_type == 'que_sh_address'"><t t-call="sh_survey_all_in_one.tmpl_sh_address_review" /></t>
<t t-if="question.question_type == 'que_sh_many2one'"><t t-call="survey.question_simple_choice" /></t>
<t t-if="question.question_type == 'que_sh_many2many'"><t t-call="survey.question_multiple_choice" /></t>
</xpath>
</template>
<template id="sh_survey_question_result_choice_inherit" inherit_id="survey.question_result_choice" name="Question: choice result (simple_choice, multiple_choice)">
<xpath expr="//div[hasclass('survey_graph')]" position="replace">
<div role="tabpanel" class="tab-pane active survey_graph"
t-att-id="'survey_graph_question_%d' % question.id"
t-att-data-question_id="question.id"
t-att-data-graph-type="'pie' if question.question_type in ( 'simple_choice','que_sh_many2one') else 'bar'"
t-att-data-graph-data="graph_data">
<!-- canvas element for drawing bar chart -->
<canvas/>
</div>
</xpath>
</template>
<!-- Many2one/Many2many condition for print page simple choice -->
<template id='sh_survey_all_in_one_model_condition' inherit_id='survey.question_simple_choice' name='Many2one/Many2many condition single choice'>
<xpath expr='//div[hasclass("o_survey_form_choice")]' position='attributes'>
<attribute name="t-attf-class" add="row o_survey_form_choice #{'cls_custom_label' if question.question_type == 'que_sh_many2one' or question.question_type == 'que_sh_many2many' else ''}" separator=" "/>
</xpath>
</template>
<!-- Many2one/Many2many condition for print page multi choice -->
<template id='sh_survey_all_in_one_model_condition_multi' inherit_id='survey.question_multiple_choice' name='Many2one/Many2many condition multi choice'>
<xpath expr='//div[hasclass("o_survey_question_multiple_choice")]' position='attributes'>
<attribute name="t-attf-class" add="row o_survey_form_choice o_survey_question_multiple_choice #{'cls_custom_label' if question and question.question_type == 'que_sh_many2one' or question and question.question_type == 'que_sh_many2many' else ''}" separator=" "/>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,220 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- QUESTIONS -->
<record id="sh_survey_extra_fields_survey_que_form_view" model="ir.ui.view">
<field name="name">sh.survey.extra.fields.survey.que.form.view</field>
<field name="model">survey.question</field>
<field name="inherit_id" ref="survey.survey_question_form" />
<field name="arch" type="xml">
<!-- for textbox pattern validation -->
<xpath expr="//page[1]" position="inside">
<group>
<field name="validation_is_sh_textbox_pattern" attrs="{'invisible': [('question_type', '!=', 'char_box')]}"/>
<field name="validation_sh_textbox_pattern" placeholder="[0-9]{4}" attrs="{'invisible': ['|',('question_type', '!=', 'char_box'),('validation_is_sh_textbox_pattern','=',False)], 'required': [('validation_is_sh_textbox_pattern', '=', True)]}"/>
<field name="validation_sh_textbox_placeholder" placeholder="nnnn" attrs="{'invisible': ['|',('question_type', '!=', 'char_box'),('validation_is_sh_textbox_pattern','=',False)]}"/>
</group>
</xpath>
<!-- <xpath expr="//page[1]/div/div" position="attributes">
<attribute name="attrs">{'invisible': [('question_type', 'not in', ['char_box', 'numerical_box', 'date', 'datetime', 'que_sh_time','que_sh_range','que_sh_week','que_sh_month','que_sh_password' ])]}</attribute>
</xpath> -->
<field name="validation_required" position="attributes">
<attribute name="attrs">{'invisible': [('question_type', 'not in', ['char_box', 'numerical_box', 'date', 'datetime', 'que_sh_time','que_sh_range','que_sh_week','que_sh_month','que_sh_password' ])]}</attribute>
</field>
<field name="validation_required"
attrs="{'invisible': [('question_type', 'not in', ['char_box', 'numerical_box', 'date', 'datetime'])]}"/>
<field name="validation_error_msg" position="before">
<field name="validation_sh_time_min" placeholder="9:00" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_time'),('validation_required', '=', False)]}" />
<field name="validation_sh_time_max" placeholder="18:00" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_time'),('validation_required', '=', False)]}" />
<field name="validation_sh_time_step" placeholder="60 (In seconds)" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_time'),('validation_required', '=', False)]}" />
<field name="validation_sh_range_min" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_range'),('validation_required', '=', False)]}" />
<field name="validation_sh_range_max" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_range'),('validation_required', '=', False)]}" />
<field name="validation_sh_range_step" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_range'),('validation_required', '=', False)]}" />
<field name="validation_sh_week_min" placeholder="2018-W18" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_week'),('validation_required', '=', False)]}" />
<field name="validation_sh_week_max" placeholder="2018-W26" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_week'),('validation_required', '=', False)]}" />
<field name="validation_sh_week_step" placeholder="1" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_week'),('validation_required', '=', False)]}" />
<field name="validation_sh_month_min" placeholder="2018-03" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_month'),('validation_required', '=', False)]}" />
<field name="validation_sh_month_max" placeholder="2018-05" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_month'),('validation_required', '=', False)]}" />
<field name="validation_sh_month_step" placeholder="1" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_month'),('validation_required', '=', False)]}" />
<field name="validation_sh_password_minlen" placeholder="8" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_password'),('validation_required', '=', False)]}" />
<field name="validation_sh_password_maxlen" placeholder="20" attrs="{'invisible': ['|',('question_type', '!=', 'que_sh_password'),('validation_required', '=', False)]}" />
</field>
<xpath expr="//page[@name='answers']" position="inside">
<!-- Many2one -->
<group class="many2one_model_answer_option" attrs="{'invisible': [('question_type', 'not in', ['que_sh_many2one'])],'required': [('question_type', 'in', ['que_sh_many2one'])]}">
<field name="que_sh_many2one_model_id" domain="[('transient','=',False)]" options='{"no_open": True, "no_create": True}' />
</group>
<!-- Many2many -->
<group class="many2many_model_answer_option" attrs="{'invisible': [('question_type', 'not in', ['que_sh_many2many'])],'required': [('question_type', 'in', ['que_sh_many2many'])]}">
<field name="que_sh_many2many_model_id" domain="[('transient','=',False)]" options='{"no_open": True, "no_create": True}' />
</group>
<!-- Adddress Options -->
<div class="row address_answer_options" >
<!-- <div class="col-6" attrs="{'invisible': [('question_type', '!=', 'que_sh_address')]}">
<div attrs="{'invisible': [('question_type', '!=', 'que_sh_address')]}">
<field name="sh_is_show_street" nolabel="1"/>
<label for="sh_is_show_street"/><br />
<field name="sh_is_show_street2" nolabel="1"/>
<label for="sh_is_show_street2"/><br />
<field name="sh_is_show_zip" nolabel="1"/>
<label for="sh_is_show_zip"/><br />
<field name="sh_is_show_city" nolabel="1"/>
<label for="sh_is_show_city"/><br />
<field name="sh_is_show_state_id" nolabel="1"/>
<label for="sh_is_show_state_id"/><br />
<field name="sh_is_show_country_id" nolabel="1"/>
<label for="sh_is_show_country_id"/><br />
</div>
</div> -->
<div class="col-12" attrs="{'invisible': [('question_type', '!=', 'que_sh_address')]}">
<div attrs="{'invisible': [('question_type', '!=', 'que_sh_address')]}">
<div class='d-flex'>
<field name="sh_is_show_street" nolabel="1" />
<div style='width: 25%;'>
<label for="sh_is_show_street"/>
</div>
<div style='width: 25%;'>
<label for="sh_is_show_street_label"/>
</div>
<field name='sh_is_show_street_label' nolabel="1" attrs="{'required': [('sh_is_show_street', '=', 'True')]}" placeholder='Street Label' style='width: 25%;'/>
</div>
<div class='d-flex'>
<field name="sh_is_show_street2" nolabel="1" />
<div style='width: 25%;'>
<label for="sh_is_show_street2" />
</div>
<div style='width: 25%;'>
<label for="sh_is_show_street2_label"/>
</div>
<field name='sh_is_show_street2_label' nolabel="1" attrs="{'required': [('sh_is_show_street2', '=', 'True')]}" placeholder='Street 2 Label' style='width: 25%;'/>
</div>
<div class='d-flex'>
<field name="sh_is_show_zip" nolabel="1" />
<div style='width: 25%;'>
<label for="sh_is_show_zip" />
</div>
<div style='width: 25%;'>
<label for="sh_is_show_zip_label"/>
</div>
<field name='sh_is_show_zip_label' nolabel="1" attrs="{'required': [('sh_is_show_zip', '=', 'True')]}" placeholder='Zip Label' style='width: 25%;'/>
</div>
<div class='d-flex'>
<field name="sh_is_show_city" nolabel="1" />
<div style='width: 25%;'>
<label for="sh_is_show_city" />
</div>
<div style='width: 25%;'>
<label for="sh_is_show_city_label"/>
</div>
<field name='sh_is_show_city_label' nolabel="1" attrs="{'required': [('sh_is_show_city', '=', 'True')]}" placeholder='City Label' style='width: 25%;'/>
</div>
<div class='d-flex'>
<field name="sh_is_show_state_id" nolabel="1" />
<div style='width: 25%;'>
<label for="sh_is_show_state_id" />
</div>
<div style='width: 25%;'>
<label for="sh_is_show_state_id_label"/>
</div>
<field name='sh_is_show_state_id_label' nolabel="1" attrs="{'required': [('sh_is_show_state_id', '=', 'True')]}" placeholder='State Label' style='width: 25%;'/>
</div>
<div class='d-flex'>
<field name="sh_is_show_country_id" nolabel="1" />
<div style='width: 25%;'>
<label for="sh_is_show_country_id" />
</div>
<div style='width: 25%;'>
<label for="sh_is_show_country_id_label"/>
</div>
<field name='sh_is_show_country_id_label' nolabel="1" attrs="{'required': [('sh_is_show_country_id', '=', 'True')]}" placeholder='Country Label' style='width: 25%;'/>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
<!-- USER INPUT LINES
.. note:: these views are useful mainly for technical users/administrators -->
<record id="sh_survey_extra_fields_survey_user_input_line_form" model="ir.ui.view">
<field name="name">sh.survey.extra.fields.survey.user.input.line.form</field>
<field name="model">survey.user_input.line</field>
<field name="inherit_id" ref="survey.survey_user_input_line_view_form" />
<field name="arch" type="xml">
<field name="value_text_box" position="after">
<field name="value_ans_sh_color" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_color')]}" />
<field name="value_ans_sh_email" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_email')]}" />
<field name="value_ans_sh_url" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_url')]}" />
<field name="value_ans_sh_time" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_time')]}" />
<field name="value_ans_sh_range" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_range')]}" />
<field name="value_ans_sh_week" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_week')]}" />
<field name="value_ans_sh_month" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_month')]}" />
<field name="value_ans_sh_password" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_password')]}" />
<field name="value_ans_sh_file" filename="value_ans_sh_file_fname" readonly="1" widget="binary" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_file')]}" />
<field name="value_ans_sh_file_fname" invisible="1" />
<field name="access_token" readonly="1" invisible="1" />
<field name="value_ans_sh_signature" style="width:100%;height:auto;" widget="image" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_signature')]}" />
<field name="value_ans_sh_street" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_address')]}" />
<field name="value_ans_sh_street2" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_address')]}" />
<field name="value_ans_sh_zip" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_address')]}" />
<field name="value_ans_sh_city" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_address')]}" />
<field name="value_ans_sh_state_id" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_address')]}" />
<field name="value_ans_sh_country_id" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_address')]}" />
<field name="value_ans_sh_many2one" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_many2one')]}" />
<field name="value_ans_sh_many2many" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_many2many')]}" />
</field>
<field name="suggested_answer_id" position="replace">
<field name="suggested_answer_id" colspan='2'/>
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,3 @@
# Copyright (C) Softhealer Technologies.
from . import models

View File

@@ -0,0 +1,3 @@
# Copyright (C) Softhealer Technologies.
from . import survey

View File

@@ -0,0 +1,347 @@
# Copyright (C) Softhealer Technologies.
from datetime import datetime, timedelta
from odoo import api, fields, models
class SurveyLabel(models.Model):
""" A suggested answer for a question """
_inherit = 'survey.question.answer'
sh_value_type = fields.Selection(selection_add=[
('que_sh_qrcode', 'QR Code'),
('que_sh_barcode', 'Barcode'),
])
class survey_question(models.Model):
_inherit = 'survey.question'
_description = 'Inherit Survey Question for extra fields'
question_type = fields.Selection(selection_add=[
('que_sh_qrcode', 'QR Code'),
('que_sh_barcode', 'Barcode'),
('que_sh_location', 'Location')
])
# ------------------------------------------------------------
# VALIDATION
# ------------------------------------------------------------
def validate_question(self, answer, comment=None):
""" Validate question, depending on question type and parameters
for simple choice, text, date and number, answer is simply the answer of the question.
For other multiple choices questions, answer is a list of answers (the selected choices
or a list of selected answers per question -for matrix type-):
- Simple answer : answer = 'example' or 2 or question_answer_id or 2019/10/10
- Multiple choice : answer = [question_answer_id1, question_answer_id2, question_answer_id3]
- Matrix: answer = { 'rowId1' : [colId1, colId2,...], 'rowId2' : [colId1, colId3, ...] }
return dict {question.id (int): error (str)} -> empty dict if no validation error.
"""
self.ensure_one()
if isinstance(answer, str):
answer = answer.strip()
# Empty answer to mandatory question
if self.constr_mandatory and not answer and self.question_type not in ['simple_choice', 'multiple_choice']:
return {self.id: self.constr_error_msg}
# because in choices question types, comment can count as answer
if answer or self.question_type in ['simple_choice', 'multiple_choice']:
if self.question_type == 'char_box':
return self._validate_char_box(answer)
elif self.question_type == 'numerical_box':
return self._validate_numerical_box(answer)
elif self.question_type in ['date', 'datetime']:
return self._validate_date(answer)
elif self.question_type in ['simple_choice', 'multiple_choice']:
return self._validate_choice(answer, comment)
elif self.question_type == 'matrix':
return self._validate_matrix(answer)
elif self.question_type == 'que_sh_color':
return self.validate_que_sh_color(answer)
elif self.question_type == 'que_sh_email':
return self.validate_que_sh_email(answer)
elif self.question_type == 'que_sh_url':
return self.validate_que_sh_url(answer)
elif self.question_type == 'que_sh_time':
return self.validate_que_sh_time(answer)
elif self.question_type == 'que_sh_range':
return self.validate_que_sh_range(answer)
elif self.question_type == 'que_sh_week':
return self.validate_que_sh_week(answer)
elif self.question_type == 'que_sh_month':
return self.validate_que_sh_month(answer)
elif self.question_type == 'que_sh_password':
return self.validate_que_sh_password(answer)
elif self.question_type == 'que_sh_file':
return self.validate_que_sh_file(answer)
elif self.question_type == 'que_sh_signature':
return self.validate_que_sh_signature(answer)
elif self.question_type == 'que_sh_many2one':
return self.validate_que_sh_many2one(answer)
elif self.question_type == 'que_sh_many2many':
return self.validate_que_sh_many2many(answer)
elif self.question_type == 'que_sh_address':
return self.validate_que_sh_address(answer)
elif self.question_type == 'que_sh_qrcode':
return self.validate_que_sh_qrcode(answer)
elif self.question_type == 'que_sh_barcode':
return self.validate_que_sh_barcode(answer)
elif self.question_type == 'que_sh_location':
return self.validate_que_sh_location(answer)
return {}
# ====================================================================
#for QR field.
# ====================================================================
def validate_que_sh_qrcode(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for BARCODE field.
# ====================================================================
def validate_que_sh_barcode(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
# ====================================================================
#for Location field.
# ====================================================================
def validate_que_sh_location(self, answer):
if self.constr_mandatory and not answer:
return {self.id: self.constr_error_msg}
return {}
def _validate_matrix(self, answers):
# Validate that each line has been answered
if self.constr_mandatory:
for row in answers:
if answers[row] == ['']:
return {self.id: self.constr_error_msg}
return {}
class SurveyUserInput(models.Model):
_inherit = 'survey.user_input'
def _save_line_matrix(self, question, old_answers, answers, comment):
vals_list = []
if answers:
for row_key, row_answer in answers.items():
if question.matrix_subtype == 'sh_custom_matrix':
answer = row_key.split('_')[1]
if answer:
for data_value in row_answer:
if question.matrix_subtype == 'sh_custom_matrix':
answer_id = self.env['survey.question.answer'].sudo().browse(
int(answer))
if answer_id.sh_value_type == 'textbox':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'text_box')
elif answer_id.sh_value_type == 'free_text':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'char_box')
elif answer_id.sh_value_type == 'numerical_box':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'numerical_box')
elif answer_id.sh_value_type == 'date':
if data_value in ['',"",False,None]:
data_value = False
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'date')
elif answer_id.sh_value_type == 'datetime':
if data_value in ['',"",False,None]:
data_value = False
else:
data_value = datetime.strptime(
data_value, '%m/%d/%Y %H:%M:%S').strftime("%Y-%m-%d %H:%M:%S")
# data_value = datetime.strptime(
# data_value, '%m/%d/%Y %H:%M:%S').strftime("%Y-%m-%d %H:%M:%S")
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'datetime')
elif answer_id.sh_value_type == 'que_sh_color':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_color')
elif answer_id.sh_value_type == 'que_sh_email':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_email')
elif answer_id.sh_value_type == 'que_sh_url':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_url')
elif answer_id.sh_value_type == 'que_sh_time':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_time')
elif answer_id.sh_value_type == 'que_sh_range':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_range')
elif answer_id.sh_value_type == 'que_sh_week':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_week')
elif answer_id.sh_value_type == 'que_sh_month':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_month')
elif answer_id.sh_value_type == 'que_sh_password':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_password')
elif answer_id.sh_value_type == 'que_sh_file':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_file')
elif answer_id.sh_value_type == 'que_sh_qrcode':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_qrcode')
elif answer_id.sh_value_type == 'que_sh_barcode':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_barcode')
elif answer_id.sh_value_type == 'que_sh_location':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_location')
vals['matrix_row_id'] = int(
row_key.split('_')[0])
else:
vals = self.sh_get_line_answer_values(
question, answer, answer, 'suggestion')
vals['matrix_row_id'] = int(answer)
vals_list.append(vals.copy())
else:
for answer in row_answer:
vals = self.sh_get_line_answer_values(question, answer, answer, 'suggestion')
vals['matrix_row_id'] = int(row_key)
vals_list.append(vals.copy())
if comment:
vals_list.append(self._get_line_comment_values(question, comment))
old_answers.sudo().unlink()
print('\n\n CALELD vals_list',vals_list)
return self.env['survey.user_input.line'].create(vals_list)
def save_lines(self, question, answer, comment=None):
""" Save answers to questions, depending on question type
If an answer already exists for question and user_input_id, it will be
overwritten (or deleted for 'choice' questions) (in order to maintain data consistency).
"""
old_answers = self.env['survey.user_input.line'].search([
('user_input_id', '=', self.id),
('question_id', '=', question.id)
])
if question.question_type in ['char_box', 'text_box', 'numerical_box', 'date', 'datetime']:
self._save_line_simple_answer(question, old_answers, answer)
if question.save_as_email and answer:
self.write({'email': answer})
if question.save_as_nickname and answer:
self.write({'nickname': answer})
elif question.question_type in ['simple_choice', 'multiple_choice']:
self._save_line_choice(question, old_answers, answer, comment)
elif question.question_type == 'matrix':
self._save_line_matrix(question, old_answers, answer, comment)
elif question.question_type in ['que_sh_color']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_color')
elif question.question_type in ['que_sh_email']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_email')
elif question.question_type in ['que_sh_url']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_url')
elif question.question_type in ['que_sh_time']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_time')
elif question.question_type in ['que_sh_range']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_range')
elif question.question_type in ['que_sh_week']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_week')
elif question.question_type in ['que_sh_month']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_month')
elif question.question_type in ['que_sh_password']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_password')
elif question.question_type in ['que_sh_file']:
self.save_line_que_sh_file(
question, old_answers, answer, 'ans_sh_file')
elif question.question_type in ['que_sh_signature']:
self.save_line_que_sh_signature(
question, old_answers, answer, 'ans_sh_signature')
elif question.question_type in ['que_sh_address']:
self.save_line_que_sh_address(
question, old_answers, answer, 'ans_sh_address')
elif question.question_type in ['que_sh_many2one']:
self.save_line_que_sh_many2one(
question, old_answers, answer, 'ans_sh_many2one')
elif question.question_type in ['que_sh_many2many']:
self.save_line_que_sh_many2many(
question, old_answers, answer, 'ans_sh_many2many')
elif question.question_type in ['que_sh_qrcode']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_qrcode')
elif question.question_type in ['que_sh_barcode']:
self.save_line_que_sh_field(
question, old_answers, answer, 'ans_sh_barcode')
elif question.question_type in ['que_sh_location']:
self.save_line_que_sh_location(
question, old_answers, answer, 'ans_sh_location')
else:
raise AttributeError(question.question_type +
": This type of question has no saving function")
# ====================================================================
#for color field.
# ====================================================================
@api.model
def save_line_que_sh_location(self, question, old_answers, answer, answer_type):
vals_list = []
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': answer_type,
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
vals['value_%s' % answer_type] = answer
if(answer and len(answer.split('&')) > 0):
vals['value_sh_location_latitude'] = answer.split('&')[0]
vals['value_sh_location_longitude'] = answer.split('&')[1]
vals['value_ans_sh_location'] = answer
vals_list.append(vals)
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
class survey_user_input_line(models.Model):
_inherit = 'survey.user_input.line'
_description = 'Survey User Input Line for extra fields'
value_ans_sh_qrcode = fields.Char(string="QR Code")
value_ans_sh_barcode = fields.Char(string="Barcode")
value_sh_location_latitude = fields.Char(string="Latitude")
value_sh_location_longitude = fields.Char(string="Longitude")
value_ans_sh_location = fields.Char(string="Location")
answer_type = fields.Selection(selection_add=[
('ans_sh_qrcode', 'QR Code'),
('ans_sh_barcode', 'Barcode'),
('ans_sh_location', 'Location')
])

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Main survey template -->
<template id="survey_page_fill" inherit_id="survey.survey_page_fill" name="QR Barcode Survey: main page (take survey)">
<xpath expr="//div[hasclass('o_survey_wrap')]" position="before">
<div class="modal" id="js_id_sh_survey_extra_fields_adv_barcode_scan_modal" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Barcode Scanner</h4>
<button type="button" class="btn close js_cls_sh_event_barcode_close_modal_btn" special="close" data-bs-dismiss="modal">X</button>
</div>
<div class="modal-body">
<div id="js_id_sh_survey_barcode_mobile_vid_div" style="">
<group style="margin-bottom: 10px;">
<div class="form-group row" style="margin-bottom: 15px;">
<strong style="align-self: center;" class="col-3">Camera</strong>
<select class="col-8 form-control" id="js_id_sh_survey_barcode_mobile_cam_select"> </select>
</div>
</group>
<video id="video" class="cls_sh_all_in_one_mbs_video_tag" width="600" height="400" style="border: 1px solid gray;"></video>
<span style="display: block;">Result:</span>
<code id="js_id_sh_survey_barcode_mobile_result"></code>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger js_cls_sh_event_barcode_close_modal_btn" special="close" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,432 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- template for Location -->
<template id="tmpl_sh_location" name="SH Location">
<!-- TODO: STYLE DISPLAY NONE IF YOU WANT TO SHOW THEN REMOVE IT. -->
<input
type="text"
class="form-control js_cls_tmpl_sh_location bg-transparent text-dark rounded-0 p-0"
t-att-value="answer_lines[0].value_ans_sh_location if answer_lines else None"
t-att-data-question-type="question.question_type"
t-att-name="question.id"
readonly="1"
/>
</template>
<!-- template for QR Code -->
<template id="tmpl_sh_qr" name="SH Barcode">
<section>
<div class="input-group" style="margin-bottom: 15px;">
<input
type="text"
class="form-control o_survey_question_color_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
readonly="1"
t-att-value="answer_lines[0].value_ans_sh_qrcode if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
<t t-if="review">
<button
type="button"
disabled="disabled"
data-bs-toggle="modal"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="question.id"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-qrcode"></i>
</button>
</t>
<t t-else="">
<button
type="button"
data-bs-toggle="modal"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="question.id"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-qrcode"></i>
</button>
</t>
</div>
</section>
</template>
<!-- template for Barcode Code -->
<template id="tmpl_sh_barcode" name="SH Barcode">
<section>
<div class="input-group" style="margin-bottom: 15px;">
<input
type="text"
class="form-control o_survey_question_color_box bg-transparent text-dark rounded-0 p-0"
t-att-name="question.id"
readonly="1"
t-att-value="answer_lines[0].value_ans_sh_barcode if answer_lines else None"
t-att-data-question-type="question.question_type"
/>
<t t-if="review">
<button
type="button"
disabled="disabled"
data-bs-toggle="modal"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="question.id"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-barcode"></i>
</button>
</t>
<t t-else="">
<button
type="button"
data-bs-toggle="modal"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="question.id"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-barcode"></i>
</button>
</t>
</div>
</section>
</template>
<template id="matrix" inherit_id="survey.question_matrix" name="SH Custom Matrix">
<!-- <template id="sh_survey_matrix_adv.matrix" inherit_id="survey.question_matrix" name="SH Adv Custom Matrix"> -->
<xpath expr="//td" position="replace">
<!-- CUSTOM MATRIX SURVEY MAIN -->
<t t-if="question.matrix_subtype == 'sh_custom_matrix'">
<td
t-att-class="'o_survey_matrix_btn text-primary border-0 position-relative %s'
% ('o_survey_selected' if answer else '')"
>
<t t-if="col_label.sh_value_type == 'textbox'">
<input type="text" class="form-control" t-att-name="'%s_%s' % (question.id, row_label.id)" t-att-data-row-id="row_label.id" t-att-data-col-id="col_label.id" t-att-value="answer.value_text_box if answer else None" />
</t>
<t t-if="col_label.sh_value_type == 'free_text'">
<textarea class="form-control sh_textarea" rows="3" t-att-name="'%s_%s' % (question.id, row_label.id)" t-att-data-row-id="row_label.id" t-att-data-col-id="col_label.id" t-att-value="answer.value_char_box if answer else None"><t t-esc="answer.value_char_box if answer else None"/></textarea>
</t>
<t t-if="col_label.sh_value_type == 'numerical_box'">
<input
type="number"
step="any"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_numerical_box if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'date'">
<input type="date" class="form-control" t-att-name="'%s_%s' % (question.id, row_label.id)" t-att-data-row-id="row_label.id" t-att-data-col-id="col_label.id" t-att-value="answer.value_date if answer else None" />
</t>
<t t-if="col_label.sh_value_type == 'datetime'">
<t t-set="sh_survey_matrix_adv_datetime_id" t-value="str(question.id) + str(row_label.id)" />
<div
class="input-group o_survey_form_date"
t-attf-id="datetimepicker_#{sh_survey_matrix_adv_datetime_id}"
data-target-input="nearest"
t-att-data-mindate="question.validation_min_datetime"
t-att-data-maxdate="question.validation_max_datetime"
>
<input
type="text"
class="form-control datetimepicker-input o_survey_question_datetime border-0"
t-attf-data-target="#datetimepicker_#{sh_survey_matrix_adv_datetime_id}"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="format_datetime(answer.value_datetime) if answer else None"
data-question-type="datetime"
placeholder="mm/dd/yyyy hh:mm:ss"
/>
<i class='cls_custom_datetime fa fa-calendar-o d-inline-block'></i>
<div t-if="not survey_form_readonly" class="input-group-append position-absolute" t-attf-data-target="#datetimepicker_#{sh_survey_matrix_adv_datetime_id}" data-bs-toggle="datetimepicker">
<div class="input-group-text text-primary border-0 bg-transparent p-0"><i class="fa fa-calendar"></i></div>
</div>
</div>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_color'">
<input
type="color"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_color if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_email'">
<input
type="email"
placeholder="example@domain.com"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_email if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_url'">
<input
type="url"
placeholder="https://example.com"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_url if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_time'">
<input
type="time"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_time if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_range'">
<t t-set="sh_survey_matrix_adv_range_id" t-value="str(row_label.id) + str(col_label.id)" />
<input
type="range"
t-attf-oninput="document.getElementById(#{sh_survey_matrix_adv_range_id}).innerHTML = this.value"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_range if answer else None"
t-att-min="col_label.sh_matrix_range_min"
t-att-max="col_label.sh_matrix_range_max"
t-att-step="col_label.sh_matrix_range_step"
/>
<label t-attf-id="#{sh_survey_matrix_adv_range_id}" style='color:#212121;margin-top:1rem;'>
<span t-esc="answer.value_ans_sh_range if answer else None"></span>
</label>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_week'">
<input
type="week"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_week if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_month'">
<input
type="month"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_month if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_password'">
<input
type="password"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_password if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_file'">
<t t-if="review">
<a t-att-href="'/survey/matrix/download/'+str(question.id)+'/'+str(row_label.id)+'/'+str(col_label.id)+'/'+str(answer.user_input_id.access_token)">Click here to download file</a>
</t>
<t t-else="">
<input type="file" class="form-control sh_file_input" />
<input
type="text"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0 sh_file_input_data"
t-att-id="sh_survey_matrix_adv_file_id"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-data-question-type="question.question_type"
style="display: none;"
/>
</t>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_barcode'">
<section>
<div class="input-group" style="margin-bottom: 15px;">
<input
type="text"
class="form-control que_sh_barcode"
readonly="1"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-data-question-type="question.question_type"
t-att-value="answer.value_ans_sh_barcode if answer else None"
/>
<t t-if="review">
<button
type="button"
data-bs-toggle="modal"
disabled="disabled"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="'%s_%s' % (question.id, row_label.id)"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-barcode" style="display: block;"></i>
</button>
</t>
<t t-else="">
<button
type="button"
data-bs-toggle="modal"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="'%s_%s' % (question.id, row_label.id)"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-barcode" style="display: block;"></i>
</button>
</t>
</div>
</section>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_qrcode'">
<section>
<div class="input-group" style="margin-bottom: 15px;">
<input
type="text"
class="form-control que_sh_qrcode"
readonly="1"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-data-question-type="question.question_type"
t-att-value="answer.value_ans_sh_qrcode if answer else None"
/>
<t t-if="review">
<button
type="button"
disabled="disabled"
data-bs-toggle="modal"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="'%s_%s' % (question.id, row_label.id)"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-qrcode" style="display: block;"></i>
</button>
</t>
<t t-else="">
<button
type="button"
data-bs-toggle="modal"
data-bs-target="#js_id_sh_survey_extra_fields_adv_barcode_scan_modal"
t-att-name="'%s_%s' % (question.id, row_label.id)"
style="color: #fff; border-radius: 0px; margin-bottom: 0px; margin-right: 5px;"
class="btn btn-primary oe_edit_only js_cls_sh_survey_barcode_mobile_start_btn"
id="js_id_sh_survey_barcode_mobile_start_btn"
>
<i class="fa fa-qrcode" style="display: block;"></i>
</button>
</t>
</div>
</section>
</t>
</td>
</t>
<t t-else="">
<td
t-att-class="'o_survey_matrix_btn text-primary border-0 position-relative %s'
% ('o_survey_selected' if answer else '')"
>
<input
t-att-type="'checkbox' if question.matrix_subtype == 'multiple' else 'radio'"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-value="col_label.id"
t-att-checked="'checked' if answer else None"
t-att-data-col-id="col_label.id"
t-att-data-row-id="row_label.id"
t-att-data-selection-key="letters[item_idx] if useKeySelection else ''"
class="o_survey_form_choice_item d-none"
/>
<i
t-att-class="'o_survey_matrix_empty_checkbox fa fa-%s position-relative'
% ('square-o' if question.matrix_subtype == 'multiple' else 'circle-thin')"
></i>
<i
t-att-class="'fa fa-%s position-relative'
% ('check-square' if question.matrix_subtype == 'multiple' else 'check-circle')"
></i>
<t t-call="survey.survey_selection_key">
<t t-set="selection_key_class" t-value="'position-absolute float-right font-weight-bold %s' % ('o_survey_radio_btn' if question.matrix_subtype != 'multiple' else '')" />
</t>
<t t-set="item_idx" t-value="item_idx + 1" />
</td>
</t>
</xpath>
</template>
<!-- A page -->
<template id="sh_survey_extra_fields_adv_question" inherit_id="survey.question_container" name="Question">
<xpath expr="//div[1]/t" position="after">
<t t-if="question.question_type == 'que_sh_qrcode'"><t t-call="sh_survey_all_in_one.tmpl_sh_qr" /></t>
<t t-if="question.question_type == 'que_sh_location'"><t t-call="sh_survey_all_in_one.tmpl_sh_location" /></t>
<t t-if="question.question_type == 'que_sh_barcode'"><t t-call="sh_survey_all_in_one.tmpl_sh_barcode" /></t>
</xpath>
</template>
<!-- Printable view of a survey (all pages) -->
<!-- Review Answer and Survey Print Page -->
<template id="sh_survey_extra_fields_adv_survey_print" inherit_id="survey.survey_page_print" name="Survey">
<xpath expr="//div[hasclass('js_question-wrapper')]//t" position="after">
<t t-if="question.question_type == 'que_sh_qrcode'"><t t-call="sh_survey_all_in_one.tmpl_sh_qr" /></t>
<t t-if="question.question_type == 'que_sh_location'"><t t-call="sh_survey_all_in_one.tmpl_sh_location" /></t>
<t t-if="question.question_type == 'que_sh_barcode'"><t t-call="sh_survey_all_in_one.tmpl_sh_barcode" /></t>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- QUESTIONS -->
<!-- <record id="sh_survey_extra_fields_adv_survey_que_form_view" model="ir.ui.view">
<field name="name">sh.survey.extra.fields.adv.survey.que.form.view</field>
<field name="model">survey.question</field>
<field name="inherit_id" ref="survey.survey_question_form" />
<field name="arch" type="xml">
<xpath expr="//page[1]/div/div" position="attributes">
<attribute name="attrs">
{'invisible': [('question_type', 'not in', ['char_box', 'numerical_box', 'date', 'datetime', 'que_sh_time','que_sh_range','que_sh_week','que_sh_month','que_sh_password' ])]}
</attribute>
</xpath>
</field>
</record> -->
<!-- USER INPUT LINES
.. note:: these views are useful mainly for technical users/administrators -->
<record id="sh_survey_extra_fields_adv_survey_user_input_line_form" model="ir.ui.view">
<field name="name">sh.survey.extra.fields.adv.survey.user.input.line.form</field>
<field name="model">survey.user_input.line</field>
<field name="inherit_id" ref="survey.survey_user_input_line_view_form" />
<field name="arch" type="xml">
<field name="value_text_box" position="after">
<field name="value_ans_sh_qrcode" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_qrcode')]}" />
<field name="value_ans_sh_barcode" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_barcode')]}" />
<field name="value_sh_location_latitude" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_location')]}" />
<field name="value_sh_location_longitude" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_location')]}" />
<field name="value_ans_sh_location" colspan="2" attrs="{'invisible': [('answer_type','!=','ans_sh_location')]}" />
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,4 @@
# Copyright (C) Softhealer Technologies.
from . import models
from . import controllers

View File

@@ -0,0 +1,3 @@
# Copyright (C) Softhealer Technologies.
from . import sh_survey_matrix_adv

View File

@@ -0,0 +1,32 @@
# Copyright (C) Softhealer Technologies.
import json
import logging
from odoo import fields, http
from odoo.http import request
from odoo.addons.survey.controllers.main import Survey
_logger = logging.getLogger(__name__)
class SurveyController(http.Controller):
@http.route('/survey/matrix/download/<string:question_id>/<string:row_label>/<string:col_label>/<string:answer_token>', type='http', auth='public', website=True)
def survey_matrix_download_file(self, **post):
base_url = request.env['ir.config_parameter'].sudo(
).get_param('web.base.url')
download_url = base_url
if base_url and post.get('question_id') and post.get('row_label') and post.get('col_label') and post.get('answer_token'):
input_line_id = request.env['survey.user_input.line'].sudo().search([('user_input_id.access_token', '=', post.get('answer_token')),
('question_id', '=', int(
post.get('question_id'))),
('suggested_answer_id', '=', int(
post.get('col_label'))),
('matrix_row_id', '=', int(
post.get('row_label')))
], limit=1)
if input_line_id:
download_url += '/web/content/survey.user_input.line/' + \
str(input_line_id.id)+'/value_ans_sh_file?download=true'
return request.redirect(download_url)

View File

@@ -0,0 +1,3 @@
# Copyright (C) Softhealer Technologies.
from . import survey

View File

@@ -0,0 +1,161 @@
# Copyright (C) Softhealer Technologies.
from odoo import models, fields, api, _
import base64
from datetime import datetime
from odoo.exceptions import ValidationError
class survey_question(models.Model):
_inherit = 'survey.question'
matrix_subtype = fields.Selection(selection_add=[
('sh_custom_matrix', 'Custom Matrix')
])
class SurveyLabel(models.Model):
""" A suggested answer for a question """
_inherit = 'survey.question.answer'
sh_value_type = fields.Selection([
('textbox', 'Single Line Text Box'),
('free_text', 'Multiple Lines Text Box'),
('numerical_box', 'Numerical Value'),
('date', 'Date'),
('datetime', 'Datetime'),
('que_sh_color', 'Color'),
('que_sh_email', 'E-mail'),
('que_sh_url', 'URL'),
('que_sh_time', 'Time'),
('que_sh_range', 'Range'),
('que_sh_week', 'Week'),
('que_sh_month', 'Month'),
('que_sh_password', 'Password'),
('que_sh_file', 'File'),
], string='Choices Type')
## Matrix Range Config
sh_matrix_range_min = fields.Integer(string='Minimum')
sh_matrix_range_max = fields.Integer(string='Maximum')
sh_matrix_range_step = fields.Integer(string='Step')
class survey_user_input(models.Model):
_inherit = 'survey.user_input'
_description = 'Survey User Input for custom matrix'
def _save_line_matrix(self, question, old_answers, answers, comment):
vals_list = []
if answers:
for row_key, row_answer in answers.items():
if question.matrix_subtype == 'sh_custom_matrix':
answer = row_key.split('_')[1]
if answer:
for data_value in row_answer:
vals = {}
if not data_value:
data_value = False
if question.matrix_subtype == 'sh_custom_matrix':
answer_id = self.env['survey.question.answer'].sudo().browse(
int(answer))
if answer_id.sh_value_type == 'textbox':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'text_box')
elif answer_id.sh_value_type == 'free_text':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'char_box')
elif answer_id.sh_value_type == 'numerical_box':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'numerical_box')
elif answer_id.sh_value_type == 'date':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'date')
elif answer_id.sh_value_type == 'datetime':
if data_value:
data_value = datetime.strptime(
data_value, '%m/%d/%Y %H:%M:%S').strftime("%Y-%m-%d %H:%M:%S")
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'datetime')
elif answer_id.sh_value_type == 'que_sh_color':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_color')
elif answer_id.sh_value_type == 'que_sh_email':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_email')
elif answer_id.sh_value_type == 'que_sh_url':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_url')
elif answer_id.sh_value_type == 'que_sh_time':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_time')
elif answer_id.sh_value_type == 'que_sh_range':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_range')
elif answer_id.sh_value_type == 'que_sh_week':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_week')
elif answer_id.sh_value_type == 'que_sh_month':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_month')
elif answer_id.sh_value_type == 'que_sh_password':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_password')
elif answer_id.sh_value_type == 'que_sh_file':
vals = self.sh_get_line_answer_values(
question, answer, data_value, 'ans_sh_file')
vals['matrix_row_id'] = int(
row_key.split('_')[0])
else:
vals = self.sh_get_line_answer_values(
question, answer, answer, 'suggestion')
vals['matrix_row_id'] = int(answer)
vals_list.append(vals.copy())
else:
for answer in row_answer:
vals = self.sh_get_line_answer_values(
question, answer, answer, 'suggestion')
vals['matrix_row_id'] = int(row_key)
vals_list.append(vals.copy())
if comment:
vals_list.append(self._get_line_comment_values(question, comment))
old_answers.sudo().unlink()
return self.env['survey.user_input.line'].create(vals_list)
def sh_get_line_answer_values(self, question, answer, data_value, answer_type):
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': answer_type,
}
if not answer or (isinstance(answer, str) and not answer.strip()):
vals.update(answer_type=None, skipped=True)
return vals
if answer_type == 'suggestion':
vals['suggested_answer_id'] = int(answer)
else:
vals['value_%s' % answer_type] = data_value
vals['suggested_answer_id'] = int(answer)
return vals
class survey_user_input_line(models.Model):
_inherit = 'survey.user_input.line'
_description = 'Survey User Input Line for custom matrix'
@api.constrains('skipped', 'answer_type')
def _check_answer_type_skipped(self):
for line in self:
if (line.skipped == bool(line.answer_type)):
raise ValidationError(
_('A question is either skipped, either answered. Not both.'))
if line.answer_type == 'suggestion':
field_name = 'suggested_answer_id'
elif line.answer_type:
field_name = 'value_%s' % line.answer_type
else: # skipped
field_name = False

View File

@@ -0,0 +1,210 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!--
<template id="matrix" inherit_id="survey.question_matrix" name="SH Custom Matrix">
<xpath expr="//td" position="replace">
<t t-if="question.matrix_subtype == 'sh_custom_matrix'">
<td
t-att-class="'o_survey_matrix_btn text-primary border-0 position-relative %s'
% ('o_survey_selected' if answer else '')"
>
<t t-if="col_label.sh_value_type == 'textbox'">
<input type="text" class="form-control" t-att-name="'%s_%s' % (question.id, row_label.id)" t-att-data-row-id="row_label.id" t-att-data-col-id="col_label.id" t-att-value="answer.value_text_box if answer else None" />
</t>
<t t-if="col_label.sh_value_type == 'free_text'">
<textarea class="form-control sh_textarea" rows="3" t-att-name="'%s_%s' % (question.id, row_label.id)" t-att-data-row-id="row_label.id" t-att-data-col-id="col_label.id" t-att-value="answer.value_char_box if answer else None"><t t-esc="answer.value_char_box if answer else None"/></textarea>
</t>
<t t-if="col_label.sh_value_type == 'numerical_box'">
<input
type="number"
step="any"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_numerical_box if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'date'">
<input type="date" class="form-control" t-att-name="'%s_%s' % (question.id, row_label.id)" t-att-data-row-id="row_label.id" t-att-data-col-id="col_label.id" t-att-value="answer.value_date if answer else None" />
</t>
<t t-if="col_label.sh_value_type == 'datetime'">
<t t-set="sh_survey_matrix_adv_datetime_id" t-value="str(question.id) + str(row_label.id)" />
<div
class="input-group o_survey_form_date"
t-attf-id="datetimepicker_#{sh_survey_matrix_adv_datetime_id}"
data-target-input="nearest"
t-att-data-mindate="question.validation_min_datetime"
t-att-data-maxdate="question.validation_max_datetime"
>
<input
type="text"
class="form-control datetimepicker-input o_survey_question_datetime bg-transparent text-dark rounded-0 p-0"
t-attf-data-target="#datetimepicker_#{sh_survey_matrix_adv_datetime_id}"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="format_datetime(answer.value_datetime) if answer else None"
data-question-type="datetime"
/>
<div t-if="not survey_form_readonly" class="input-group-append position-absolute" t-attf-data-target="#datetimepicker_#{sh_survey_matrix_adv_datetime_id}" data-toggle="datetimepicker">
<div class="input-group-text text-primary border-0 bg-transparent p-0"><i class="fa fa-calendar"></i></div>
</div>
</div>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_color'">
<input
type="color"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_color if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_email'">
<input
type="email"
placeholder="example@domain.com"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_email if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_url'">
<input
type="url"
placeholder="https://example.com"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_url if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_time'">
<input
type="time"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_time if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_range'">
<t t-set="sh_survey_matrix_adv_range_id" t-value="str(row_label.id) + str(col_label.id)" />
<input
type="range"
t-attf-oninput="document.getElementById(#{sh_survey_matrix_adv_range_id}).innerHTML = this.value"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_range if answer else None"
/>
<label t-attf-id="#{sh_survey_matrix_adv_range_id}" style='margin-top: 0.4rem;margin-bottom: 0;'>
<span style='color:#212121;' t-esc="answer.value_ans_sh_range if answer else None"></span>
</label>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_week'">
<input
type="week"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_week if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_month'">
<input
type="month"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_month if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_password'">
<input
type="password"
class="form-control"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-value="answer.value_ans_sh_password if answer else None"
/>
</t>
<t t-if="col_label.sh_value_type == 'que_sh_file'">
<t t-if="review">
<a t-att-href="'/survey/matrix/download/'+str(question.id)+'/'+str(row_label.id)+'/'+str(col_label.id)+'/'+str(answer.user_input_id.access_token)">Click here to download file</a>
</t>
<t t-else="">
<input type="file" class="form-control sh_file_input" />
<input
type="text"
class="form-control o_survey_question_email_box bg-transparent text-dark rounded-0 p-0 sh_file_input_data"
t-att-id="sh_survey_matrix_adv_file_id"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-data-row-id="row_label.id"
t-att-data-col-id="col_label.id"
t-att-data-question-type="question.question_type"
style="display: none;"
/>
</t>
</t>
</td>
</t>
<t t-else="">
<td
t-att-class="'o_survey_matrix_btn text-primary border-0 position-relative %s'
% ('o_survey_selected' if answer else '')"
>
<input
t-att-type="'checkbox' if question.matrix_subtype == 'multiple' else 'radio'"
t-att-name="'%s_%s' % (question.id, row_label.id)"
t-att-value="col_label.id"
t-att-checked="'checked' if answer else None"
t-att-data-col-id="col_label.id"
t-att-data-row-id="row_label.id"
t-att-data-selection-key="letters[item_idx] if useKeySelection else ''"
class="o_survey_form_choice_item d-none"
/>
<i
t-att-class="'o_survey_matrix_empty_checkbox fa fa-%s position-relative'
% ('square-o' if question.matrix_subtype == 'multiple' else 'circle-thin')"
></i>
<i
t-att-class="'fa fa-%s position-relative'
% ('check-square' if question.matrix_subtype == 'multiple' else 'check-circle')"
></i>
<t t-call="survey.survey_selection_key">
<t t-set="selection_key_class" t-value="'position-absolute float-right font-weight-bold %s' % ('o_survey_radio_btn' if question.matrix_subtype != 'multiple' else '')" />
</t>
<t t-set="item_idx" t-value="item_idx + 1" />
</td>
</t>
</xpath>
</template>
-->
</odoo>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- QUESTIONS -->
<record id="sh_survey_matrix_adv_survey_question_form" model="ir.ui.view">
<field name="name">sh.survey.matrix.adv.survey.questino.form</field>
<field name="model">survey.question</field>
<field name="inherit_id" ref="survey.survey_question_form" />
<field name="arch" type="xml">
<xpath expr="//field[@name='suggested_answer_ids']//tree//field[@name='value']" position="after">
<field name="sh_value_type" attrs="{'column_invisible':[('parent.matrix_subtype','!=','sh_custom_matrix')]}" />
<field name='sh_matrix_range_min' attrs="{'column_invisible': [('parent.matrix_subtype','!=','sh_custom_matrix')]}"/>
<field name='sh_matrix_range_max' attrs="{'column_invisible': [('parent.matrix_subtype','!=','sh_custom_matrix')]}"/>
<field name='sh_matrix_range_step' attrs="{'column_invisible': [('parent.matrix_subtype','!=','sh_custom_matrix')]}"/>
</xpath>
</field>
</record>
<!-- USER INPUT LINES
.. note:: these views are useful mainly for technical users/administrators -->
<record id="sh_survey_matrix_adv_survey_user_input_line_form" model="ir.ui.view">
<field name="name">sh.survey.matrix.adv.survey.user.input.line.form</field>
<field name="model">survey.user_input.line</field>
<field name="inherit_id" ref="survey.survey_user_input_line_view_form" />
<field name="arch" type="xml">
<field name="suggested_answer_id" position="replace">
<field
name="suggested_answer_id"
colspan="2"
attrs="{'invisible': [('answer_type','not in',('suggestion','ans_sh_color',
'ans_sh_email','ans_sh_url','ans_sh_time','ans_sh_range','ans_sh_week','ans_sh_month','ans_sh_password','ans_sh_file'))]}"
/>
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# Part of Softhealer Technologies.
from . import models
from . import wizards

View File

@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="sh_survmate_theme_style_1" model="sh.survmate.settings">
<field name="name">Theme 1</field>
<field name='sh_survmate_show_bg_color'>True</field>
<field name="sh_survmate_bg_color">#FFFFFF</field>
<field name="sh_survmate_question_color">#585858</field>
<field name="sh_survmate_answer_color">#0042BC</field>
<field name='sh_survmate_section_title_color'>#FFFFFF</field>
<field name='sh_survmate_section_title_font_color'>#444444</field>
<field name='sh_survmate_section_answer_text_color'>#444444</field>
<field name='sh_survmate_theme_primary_color'>#0043A8</field>
<field name='sh_survmate_theme_secondary_color'>#FAFAFA</field>
<field name="sh_survmate_button_style">style_1</field>
<field name="sh_survmate_input_style">style_1</field>
<field name="sh_survmate_checkbox_style">style_1</field>
<field name="sh_survmate_radio_button_style">style_1</field>
<field name="sh_survmate_section_style">style_1</field>
</record>
<record id="sh_survmate_theme_style_2" model="sh.survmate.settings">
<field name="name">Theme 2</field>
<field name='sh_survmate_show_bg_color'>True</field>
<field name="sh_survmate_bg_color">#FFFFFF</field>
<field name="sh_survmate_question_color">#474747</field>
<field name="sh_survmate_answer_color">#571839</field>
<field name='sh_survmate_section_title_color'>#BB377D</field>
<field name='sh_survmate_section_title_font_color'>#FFFFFF</field>
<field name='sh_survmate_section_answer_text_color'>#1F4037</field>
<field name='sh_survmate_theme_primary_color'>#BB377D</field>
<field name='sh_survmate_theme_secondary_color'>#F4F4F4</field>
<field name="sh_survmate_button_style">style_2</field>
<field name="sh_survmate_input_style">style_2</field>
<field name="sh_survmate_checkbox_style">style_2</field>
<field name="sh_survmate_radio_button_style">style_2</field>
<field name="sh_survmate_section_style">style_2</field>
</record>
<record id="sh_survmate_theme_style_3" model="sh.survmate.settings">
<field name="name">Theme 3</field>
<field name='sh_survmate_show_bg_color'>True</field>
<field name="sh_survmate_bg_color">#FFFFFF</field>
<field name="sh_survmate_question_color">#666666</field>
<field name="sh_survmate_answer_color">#183543</field>
<field name='sh_survmate_section_title_color'>#FFFFFF</field>
<field name='sh_survmate_section_title_font_color'>#1B343F</field>
<field name='sh_survmate_section_answer_text_color'>#1F4037</field>
<field name='sh_survmate_theme_primary_color'>#337899</field>
<field name='sh_survmate_theme_secondary_color'>#F4F4F4</field>
<field name="sh_survmate_button_style">style_3</field>
<field name="sh_survmate_input_style">style_3</field>
<field name="sh_survmate_checkbox_style">style_3</field>
<field name="sh_survmate_radio_button_style">style_3</field>
<field name="sh_survmate_section_style">style_3</field>
</record>
<record id="sh_survmate_theme_style_4" model="sh.survmate.settings">
<field name="name">Theme 4</field>
<field name='sh_survmate_show_bg_color'>true</field>
<field name="sh_survmate_bg_color">#FFFFFF</field>
<field name="sh_survmate_question_color">#474747</field>
<field name="sh_survmate_answer_color">#1F4037</field>
<field name='sh_survmate_section_title_color'>#01592F</field>
<field name='sh_survmate_section_title_font_color'>#F5F5F5</field>
<field name='sh_survmate_section_answer_text_color'>#1F4037</field>
<field name='sh_survmate_theme_primary_color'>#01592F</field>
<field name='sh_survmate_theme_secondary_color'>#F4F4F4</field>
<field name="sh_survmate_button_style">style_4</field>
<field name="sh_survmate_input_style">style_4</field>
<field name="sh_survmate_checkbox_style">style_4</field>
<field name="sh_survmate_radio_button_style">style_4</field>
<field name="sh_survmate_section_style">style_4</field>
</record>
<record id="sh_survmate_theme_style_5" model="sh.survmate.settings">
<field name="name">Theme 5</field>
<field name='sh_survmate_show_bg_color'>True</field>
<field name="sh_survmate_bg_color">#FFFFFF</field>
<field name="sh_survmate_question_color">#474747</field>
<field name="sh_survmate_answer_color">#61045F</field>
<field name='sh_survmate_section_title_color'>#F1F5F8</field>
<field name='sh_survmate_section_title_font_color'>#61045F</field>
<field name='sh_survmate_section_answer_text_color'>#1F4037</field>
<field name='sh_survmate_theme_primary_color'>#61045F</field>
<field name='sh_survmate_theme_secondary_color'>#F4F4F4</field>
<field name="sh_survmate_button_style">style_5</field>
<field name="sh_survmate_input_style">style_5</field>
<field name="sh_survmate_checkbox_style">style_5</field>
<field name="sh_survmate_radio_button_style">style_5</field>
<field name="sh_survmate_section_style">style_5</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# Part of Softhealer Technologies.
from . import survey

View File

@@ -0,0 +1,127 @@
# -*- coding: utf-8 -*-
# Part of Softhealer Technologies.
from odoo import models, fields, _
class SurveyQuestion(models.Model):
_inherit = "survey.question"
sh_survmate_theme_grid_type = fields.Selection([
('1', '1'),
('2', '2'),
('3', '3'),
('4', '4'),
('5', '5'),
('6', '6'),
('7', '7'),
('8', '8'),
('9', '9'),
('10', '10'),
('11', '11'),
('12', '12'),
], string="Grid", required=True, default='12')
class survey_survey(models.Model):
_inherit = "survey.survey"
sh_survmate_settings_id = fields.Many2one(
comodel_name="sh.survmate.settings", string="Survmate Theme")
# timer position fixed
sh_is_time_fixed = fields.Boolean(string="Is Fixed Timer Position?")
class sh_survmate_settings(models.Model):
_name = "sh.survmate.settings"
_description = 'Survmate Settings'
_order = "id desc"
name = fields.Char(string="Name", required=True)
sh_survmate_show_bg_color = fields.Boolean(string="Show Background Color")
sh_survmate_bg_color = fields.Char(string="Background Color")
sh_survmate_question_color = fields.Char(string="Question Color")
sh_survmate_answer_color = fields.Char(string="Answer Color")
sh_survmate_section_title_color = fields.Char(
string="Section Background Color")
sh_survmate_section_title_font_color = fields.Char(
string="Section Font Color")
sh_survmate_section_answer_text_color = fields.Char(
string="Answer Text Color")
sh_survmate_theme_primary_color = fields.Char(string="Primary Color")
sh_survmate_theme_secondary_color = fields.Char(string="Secondary Color")
sh_survmate_button_style = fields.Selection([
('style_1', 'Style 1'),
('style_2', 'Style 2'),
('style_3', 'Style 3'),
('style_4', 'Style 4'),
('style_5', 'Style 5'),
], string="Button Style")
sh_survmate_input_style = fields.Selection([
('style_1', 'Style 1'),
('style_2', 'Style 2'),
('style_3', 'Style 3'),
('style_4', 'Style 4'),
('style_5', 'Style 5'),
], string="Input Style")
sh_survmate_section_style = fields.Selection([
('style_1', 'Style 1'),
('style_2', 'Style 2'),
('style_3', 'Style 3'),
('style_4', 'Style 4'),
('style_5', 'Style 5'),
], string="Section Style")
sh_survmate_checkbox_style = fields.Selection([
('style_1', 'Style 1'),
('style_2', 'Style 2'),
('style_3', 'Style 3'),
('style_4', 'Style 4'),
('style_5', 'Style 5'),
], string="Checkbox Style")
sh_survmate_radio_button_style = fields.Selection([
('style_1', 'Style 1'),
('style_2', 'Style 2'),
('style_3', 'Style 3'),
('style_4', 'Style 4'),
('style_5', 'Style 5'),
], string="Radio Button Style")
def action_preview_theme_style(self):
if self:
context = dict(self.env.context or {})
img_src = ""
if context and context.get('which_style', '') == 'button':
img_src = "/sh_survey_all_in_one/static/src/img/extra_addons/sh_survmate_theme/button-style---2.gif"
if context and context.get('which_style', '') == 'input':
img_src = "/sh_survey_all_in_one/static/src/img/extra_addons/sh_survmate_theme/input_style.png"
if context and context.get('which_style', '') == 'section':
img_src = "/sh_survey_all_in_one/static/src/img/extra_addons/sh_survmate_theme/section_style.png"
if context and context.get('which_style', '') == 'checkbox':
img_src = "/sh_survey_all_in_one/static/src/img/extra_addons/sh_survmate_theme/checkbox_style.png"
if context and context.get('which_style', '') == 'radio':
img_src = "/sh_survey_all_in_one/static/src/img/extra_addons/sh_survmate_theme/radio_button_style.png"
context['default_img_src'] = img_src
return {
'name': _('Preview Style'),
'view_mode': 'form',
'res_model': 'sh.survmate.theme.button.design.wizard',
'view_id': self.env.ref('sh_survey_all_in_one.sh_survmate_theme_button_style_wizard_view').id,
'type': 'ir.actions.act_window',
'context': context,
'target': 'new',
'flags': {'form': {'action_buttons': False}}
}

View File

@@ -0,0 +1,337 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Main survey layout -->
<template id="layout" name="Survey Layout" inherit_id="survey.layout">
<xpath expr="//div[@id='wrapwrap']" position="before">
<!-- Style -->
<t t-set="survmate_style" t-value="(('height: 100%; overflow: auto; background: url(' + survey.background_image_url + ') no-repeat fixed center; box-shadow: inset 0 0 0 10000px rgba(255,255,255,.7); background-size: cover;') if survey and survey.background_image and answer else 'height: 100%; overflow: auto;')"/>
<t t-if="survey and survey.sh_survmate_settings_id.sh_survmate_bg_color and survey.sh_survmate_settings_id.sh_survmate_show_bg_color">
<t t-set="survmate_style" t-value="'height: 100%; overflow: auto;background: ' + survey.sh_survmate_settings_id.sh_survmate_bg_color"/>
</t>
<!-- Class -->
<t t-set="sh_survmate_class_all" t-value="''"/>
<t t-set="sh_survmate_button_class" t-value="''"/>
<t t-set="sh_survmate_input_class" t-value="''"/>
<t t-set="sh_survmate_section_class" t-value="''"/>
<t t-set="sh_survmate_checkbox_class" t-value="''"/>
<t t-set="sh_survmate_radio_button_class" t-value="''"/>
<t t-if="survey and survey.sh_survmate_settings_id.sh_survmate_button_style" t-set="sh_survmate_button_class" t-value="'sh_survmate_button_' + str(survey.sh_survmate_settings_id.sh_survmate_button_style) "/>
<t t-if="survey and survey.sh_survmate_settings_id.sh_survmate_input_style" t-set="sh_survmate_input_class" t-value="'sh_survmate_input_' + str(survey.sh_survmate_settings_id.sh_survmate_input_style) "/>
<t t-if="survey and survey.sh_survmate_settings_id.sh_survmate_section_style" t-set="sh_survmate_section_class" t-value="'sh_survmate_section_' + str(survey.sh_survmate_settings_id.sh_survmate_section_style) "/>
<t t-if="survey and survey.sh_survmate_settings_id.sh_survmate_checkbox_style" t-set="sh_survmate_checkbox_class" t-value="'sh_survmate_checkbox_' + str(survey.sh_survmate_settings_id.sh_survmate_checkbox_style) "/>
<t t-if="survey and survey.sh_survmate_settings_id.sh_survmate_radio_button_style" t-set="sh_survmate_radio_button_class" t-value="'sh_survmate_radiobtn_' + str(survey.sh_survmate_settings_id.sh_survmate_radio_button_style) "/>
<t t-set="sh_survmate_class_all" t-value="sh_survmate_button_class + ' ' + sh_survmate_input_class + ' ' + sh_survmate_section_class + ' ' + sh_survmate_checkbox_class + ' ' + sh_survmate_radio_button_class "/>
<!-- Inline css -->
<style type="text/css">
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_text_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_date:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_datetime:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_numerical_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_color_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_email_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2one_wrapper input:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2many_select_div .viewbar:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper input:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper select:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_tmpl_sh_location:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_1 .o_survey_question_matrix input:focus,
.sh_survmate_input_style_1 .o_survey_question_matrix .sh_textarea:focus
{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
/*Survey Fill*/
/*question*/
.o_survey_form form .o_survey_form_content .js_question-wrapper h3 span{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_question_color"/>;}
/*answer color*/
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_text_box{border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_question_matrix input,
.o_survey_question_matrix .sh_textarea{border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_date{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_datetime,
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_email_box{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .fa-calendar{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_numerical_box{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_color_box{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2one_wrapper input{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2many_select_div .viewbar{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper input{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper select{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_tmpl_sh_location{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_matrix .fa:not(.fa-qrcode):not(.fa-barcode){color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_form_choice .o_survey_choice_btn span{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
.o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_form_choice .o_survey_choice_btn .fa{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
/*Section Color*/
.o_survey_form h1.o_survey_main_title{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
/*Section Desc. Color*/
.o_survey_form form .o_survey_form_content .oe_no_empty p{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_question_color"/>;}
/*Input answer text color*/
/*Survey Review*/
#wrapwrap .o_survey_print h1 span{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
#wrapwrap .o_survey_print fieldset .js_question-wrapper h2{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_question_color"/>;}
#wrapwrap .o_survey_print fieldset .o_survey_comment_container .o_survey_question_text_box{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
#wrapwrap .o_survey_print fieldset .o_survey_question_color_box{padding: 6px 5px !important;border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
#wrapwrap .o_survey_print fieldset .js_cls_tmpl_sh_location{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
#wrapwrap .o_survey_print fieldset .o_survey_question_email_box{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
#wrapwrap .o_survey_print fieldset .o_survey_question_date{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
#wrapwrap .o_survey_print fieldset .o_survey_question_datetime{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
#wrapwrap .o_survey_print fieldset .o_survey_question_numerical_box{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_answer_text_color"/> !important;}
#wrapwrap .o_survey_print fieldset .oe_no_empty p{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_question_color"/>;}
#wrapwrap .o_survey_print fieldset .o_survey_choice_btn{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
#wrapwrap .o_survey_print fieldset .o_survey_choice_btn span{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> ;}
#wrapwrap .o_survey_print fieldset .o_survey_choice_btn .fa{color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>;}
#wrapwrap .o_survey_print fieldset .o_survey_question_numerical_box{border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
#wrapwrap .o_survey_print fieldset .o_survey_question_matrix .fa:not(.fa-qrcode):not(.fa-barcode){color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
/* Survey Print */
.o_survey_print .o_survey_question_matrix th{background-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.o_survey_print .o_survey_question_matrix td{background-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_secondary_color"/> !important;}
/* Survey Fill */
.o_survey_form .o_survey_question_matrix th{background-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.o_survey_form .o_survey_question_matrix td{background-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_secondary_color"/> !important;}
.sh_survmate_section_style_1 .wrap .o_survey_print fieldset h1:after{background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.sh_survmate_section_style_1 .o_survey_form form .o_survey_form_content h2:after{background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.sh_survmate_button_style_1 .o_survey_form .o_survey_form_content .btn-primary,
.sh_survmate_button_style_1 .o_survey_print .btn-primary,
.sh_survmate_button_style_1 .o_survey_print div p .btn-primary{background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.sh_survmate_button_style_1 .o_survey_form .o_survey_form_content .btn-primary:hover,
.sh_survmate_button_style_1 .o_survey_print div p .btn-primary:hover{color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.sh_survmate_input_style_1 .o_survey_choice_btn,
.sh_survmate_input_style_1 .o_survey_print .o_survey_choice_btn{
box-shadow: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> 0px 0px 0px 1px !important;
}
.sh_survmate_section_style_1 .o_survey_form form .o_survey_form_content h2.o_survey_title,
.sh_survmate_section_style_1 .wrap .o_survey_print fieldset .o_page_header h1{color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_font_color"/> !important;}
.sh_survmate_button_style_2 .o_survey_form .o_survey_form_content .btn-primary:after,
.sh_survmate_button_style_2 .o_survey_print .btn-primary:after,
.sh_survmate_button_style_2 .o_survey_print div p .btn-primary:after{background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.sh_survmate_section_style_2 .o_survey_form form .o_survey_form_content h2.o_survey_title,
.sh_survmate_section_style_2 .wrap .o_survey_print fieldset .o_page_header h1{background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_color"/> !important;color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_font_color"/>;}
.sh_survmate_radiobtn_style_2 .fa-circle-thin{border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
.sh_survmate_radiobtn_style_2 .o_survey_selected .fa-circle-thin{border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;}
.sh_survmate_input_style_2 .o_survey_choice_btn,
.sh_survmate_input_style_2 .o_survey_print .o_survey_choice_btn{
box-shadow: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> 0px 0px 0px 1px !important;
}
.sh_survmate_button_style_2 .o_survey_form .o_survey_form_content .btn-primary:hover,
.sh_survmate_button_style_2 .o_survey_print .btn-primary:hover,
.sh_survmate_button_style_2 .o_survey_print div p .btn-primary:hover{
color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_button_style_2 .o_survey_form .o_survey_form_content .btn-primary,
.sh_survmate_button_style_2 .o_survey_print .btn-primary,
.sh_survmate_button_style_2 .o_survey_print div p .btn-primary{
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_button_style_2 .o_survey_print .btn-primary:disabled{
background-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;pointer-events: none;}
.sh_survmate_button_style_3 .o_survey_form .o_survey_form_content .btn-primary,
.sh_survmate_button_style_3 .o_survey_print div p .btn-primary{background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;}
.sh_survmate_button_style_3 .o_survey_form .o_survey_form_content .btn-primary:after,
.sh_survmate_button_style_3 .o_survey_print div p .btn-primary:after,
.sh_survmate_button_style_3 .o_survey_form .o_survey_form_content .btn-primary:before,
.sh_survmate_button_style_3 .o_survey_print div p .btn-primary:before{
background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_button_style_3 .o_survey_form .o_survey_form_content .btn-primary:hover,
.sh_survmate_button_style_3 .o_survey_print div p .btn-primary:hover{
color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_text_box,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_date,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_datetime,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_form_choice .o_survey_choice_btn,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_numerical_box,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_color_box,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_email_box,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2one_wrapper input,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2many_select_div .viewbar,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper input,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper select,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_tmpl_sh_location,
.sh_survmate_input_style_3 .o_survey_print fieldset .o_survey_question_text_box,
.sh_survmate_input_style_3 .o_survey_print fieldset .o_survey_question_date,
.sh_survmate_input_style_3 .o_survey_print fieldset .o_survey_question_datetime,
.sh_survmate_input_style_3 .o_survey_print fieldset .o_survey_choice_btn,
.sh_survmate_input_style_3 .o_survey_print fieldset .o_survey_question_numerical_box,
.sh_survmate_input_style_3 .o_survey_print fieldset .o_survey_question_color_box,
.sh_survmate_input_style_3 .o_survey_print fieldset .o_survey_question_email_box,
.sh_survmate_input_style_3 .o_survey_print fieldset .js_cls_sh_many2one_wrapper input,
.sh_survmate_input_style_3 .o_survey_print fieldset .js_cls_sh_many2many_select_div .viewbar,
.sh_survmate_input_style_3 .o_survey_print fieldset .js_cls_sh_address_wrapper input,
.sh_survmate_input_style_3 .o_survey_print fieldset .js_cls_sh_address_wrapper select,
.sh_survmate_input_style_3 .o_survey_print fieldset .js_cls_tmpl_sh_location{
border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_input_style_3 .o_survey_question_matrix input:focus,
.sh_survmate_input_style_3 .o_survey_question_matrix .sh_textarea:focus,
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_text_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_date:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_datetime:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_numerical_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_color_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_email_box:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2one_wrapper input:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2many_select_div .viewbar:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper input:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper select:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_input_style_3 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_tmpl_sh_location:focus{background-image: linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>), linear-gradient(<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>, <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/>);}
.sh_survmate_section_style_3 .o_survey_form form .o_survey_form_content h2.o_survey_title,
.sh_survmate_section_style_3 .wrap .o_survey_print fieldset .o_page_header h1{
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_color"/> !important;
color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_font_color"/>;
}
.sh_survmate_button_style_3 .o_survey_print .btn-primary:disabled{
background-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
pointer-events:none;
}
.sh_survmate_input_style_3 .o_survey_print .o_survey_choice_btn{
border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_input_style_3 .o_survey_choice_btn,
.sh_survmate_input_style_3 .o_survey_print .o_survey_choice_btn{
box-shadow: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> 0px 0px 0px 1px !important;
}
/* Style 4*/
.sh_survmate_section_style_4 .o_survey_form form .o_survey_form_content h2.o_survey_title,
.sh_survmate_section_style_4 .wrap .o_survey_print fieldset .o_page_header h1{
background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_color"/> !important;
color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_font_color"/>;
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_button_style_4 .o_survey_form .o_survey_form_content .btn-primary,
.sh_survmate_button_style_4 .o_survey_print div p .btn-primary{
border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
background: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_button_style_4 .o_survey_form .o_survey_form_content .btn-primary:hover,
.sh_survmate_button_style_4 .o_survey_print div p .btn-primary:hover{
color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_button_style_4 .o_survey_form .o_survey_form_content .btn-primary:after,
.sh_survmate_button_style_4 .o_survey_print div p .btn-primary:after,
.sh_survmate_button_style_4 .o_survey_form .o_survey_form_content .btn-primary:before,
.sh_survmate_button_style_4 .o_survey_print div p .btn-primary:before{
background-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_radiobtn_style_4 .js_question-wrapper .o_survey_selected .fa-circle-thin:after{
background: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_checkbox_style_4 .o_survey_form_choice .o_survey_selected .fa-square-o:after{
background: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_checkbox_style_4 .o_survey_question_matrix .o_survey_matrix_btn.o_survey_selected i.fa-square-o:after{
background: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_input_style_4 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_choice_btn,
.sh_survmate_input_style_4 .o_survey_print fieldset .o_survey_choice_btn{
box-shadow: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> 0px 0px 0px 1px !important;
}
.sh_survmate_button_style_4 .o_survey_print .btn-primary:disabled{
background-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
pointer-events:none;
}
/*Style 5*/
.sh_survmate_button_style_5 .o_survey_form .o_survey_form_content .btn-primary:hover,
.sh_survmate_button_style_5 .o_survey_print div p .btn-primary:hover{
color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
border-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_section_style_5 .o_survey_form form .o_survey_form_content h2.o_survey_title,
.sh_survmate_section_style_5 .wrap .o_survey_print fieldset .o_page_header h1{
background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_color"/> !important;
color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_section_title_font_color"/>;
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_button_style_5 .o_survey_form .o_survey_form_content .btn-primary,
.sh_survmate_button_style_5 .o_survey_print div p .btn-primary{
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
}
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_form_choice .o_survey_choice_btn,
.sh_survmate_input_style_5 .o_survey_print fieldset .o_survey_choice_btn{
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_color_box,
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .o_survey_question_email_box,
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2one_wrapper input,
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_many2many_select_div .viewbar,
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper input,
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_sh_address_wrapper select,
.sh_survmate_input_style_5 .o_survey_form form .o_survey_form_content .js_question-wrapper .js_cls_tmpl_sh_location,
.sh_survmate_input_style_5 .o_survey_print fieldset .o_survey_question_color_box,
.sh_survmate_input_style_5 .o_survey_print fieldset .o_survey_question_email_box,
.sh_survmate_input_style_5 .o_survey_print fieldset .js_cls_sh_many2one_wrapper input,
.sh_survmate_input_style_5 .o_survey_print fieldset .js_cls_sh_many2many_select_div .viewbar,
.sh_survmate_input_style_5 .o_survey_print fieldset .js_cls_sh_address_wrapper input,
.sh_survmate_input_style_5 .o_survey_print fieldset .js_cls_sh_address_wrapper select,
.sh_survmate_input_style_5 .o_survey_print fieldset .js_cls_tmpl_sh_location{
border:0;
border-bottom:1px solid <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_input_style_5 input[type='range']{
background-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
.sh_survmate_input_style_5 .o_survey_print .btn-primary:disabled{
border-color:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
background:<t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_theme_primary_color"/> !important;
pointer-evenets:none;
}
input[type=range].o_survey_question_email_box{
background-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
border: 1px <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> solid !important;
}
input[type=range].o_survey_question_email_box::-webkit-slider-thumb{
background-color: <t t-if='survey' t-esc="survey.sh_survmate_settings_id.sh_survmate_answer_color"/> !important;
}
</style>
</xpath>
<xpath expr="//div[@id='wrapwrap']" position="attributes">
<attribute name="t-att-style">survmate_style</attribute>
<attribute name="t-attf-class" add="#{sh_survmate_class_all}" separator=" "/>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="sh_survmate_theme_question_matrix_inherit" inherit_id="survey.question_matrix" name="Survmate Question Matrix">
<xpath expr="//table[hasclass('table','table-borderless','o_survey_question_matrix','text-white','text-center','mb-0')]" position="attributes">
<attribute name="class">table table-borderless o_survey_question_matrix text-white text-center mb-0</attribute>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="sh_survmate_theme_multichoice_question_tmpl" inherit_id='survey.question_multiple_choice' name="Survmate Theme Custom Multichoice Question">
<xpath expr="//div[hasclass('d-flex','flex-wrap','col-lg-12')]//label[contains(@t-att-class, 'o_survey_choice_btn')]" position="replace">
<label t-att-class="'o_survey_choice_btn form-label me-2 py-1 px-3 rounded %s %s' % (answer_class, 'o_survey_selected' if answer_line else '')">
<t t-call="survey.survey_selection_key">
<t t-set="selection_key_class" t-value="'position-relative float-start d-flex'"/>
</t>
<input type="checkbox" t-att-value='label.id' class="o_survey_form_choice_item invisible position-absolute"
t-att-name="question.id"
t-att-checked="'checked' if answer_line else None"
t-att-data-selection-key="letters[item_idx] if useKeySelection else ''"/>
<span class="ms-2 text-break" t-field='label.value'/>
<t t-if="has_correct_answer and answer_selected">
<!-- While displaying results: change icons to have a check mark for a right answer and a cross for a wrong one -->
<i t-if="is_correct" class="float-end mt-1 position-relative d-inline fa fa-check-square"/>
<i t-else="" class="float-end mt-1 position-relative d-inline fa fa-times-square"/>
</t>
<t t-else="">
<i class="fa fa-check-square float-end mt-1 position-relative"></i>
<i class="fa fa-square-o float-end mt-1 position-relative"></i>
</t>
<t t-call="survey.question_suggested_value_image"/>
</label>
</xpath>
<xpath expr="//div[hasclass('js_ck_comments','col-lg-12')]//label[contains(@t-att-class, 'o_survey_choice_btn')]" position="replace">
<label t-att-class="'o_survey_choice_btn form-label me-2 py-1 px-3 rounded %s' % ('o_survey_selected' if comment_line else '')">
<t t-set="item_idx" t-value="item_idx + 1"/>
<t t-call="survey.survey_selection_key">
<t t-set="selection_key_class" t-value="'position-relative float-start d-flex'"/>
</t>
<input type="checkbox" class="o_survey_form_choice_item o_survey_js_form_other_comment invisible position-absolute" value="-1"
t-att-name="question.id"
t-att-checked="comment_line and 'checked' or None"
t-att-data-selection-key="letters[item_idx] if useKeySelection else ''"/>
<span class="ms-2" t-out="question.comments_message or default_comments_message" />
<i class="fa fa-check-square float-end mt-1 position-relative"></i>
<i class="fa fa-square-o float-end mt-1 position-relative"></i>
</label>
</xpath>
</template>
<template id="sh_survmate_theme_review_template_inherit" inherit_id="survey.survey_page_print" name="Survmate Question Review">
<xpath expr="//t[@t-set='answer_lines']" position="before">
<t t-set="sh_survmate_question_grid_cls" t-value="'col-md-%s' % (question.sh_survmate_theme_grid_type)" />
</xpath>
<xpath expr="//div[hasclass('wrap')]//fieldset" position="attributes">
<attribute name="class">row</attribute>
</xpath>
<xpath expr="//div[hasclass('js_question-wrapper')]" position="attributes">
<attribute name="t-att-class">'js_question-wrapper %s' %(sh_survmate_question_grid_cls)</attribute>
</xpath>
<!-- Not to display empty question description -->
<xpath expr='//div[@t-if="question.description"]' position="before">
<t t-set="shhtmlempty" t-value="'&lt;p&gt;&lt;br&gt;&lt;/p&gt;'"/>
</xpath>
<xpath expr='//div[@t-if="question.description"]' position="attributes">
<attribute name='t-if'>question.description != shhtmlempty</attribute>
</xpath>
</template>
<template id="sh_survmate_theme_question_template_inherit" inherit_id="survey.question_container" name="Survmate Question">
<xpath expr="//t[@t-set='extra_right_margin']" position="before">
<t t-set="sh_survmate_question_grid_cls" t-value="'col-md-%s' % (question.sh_survmate_theme_grid_type)" />
</xpath>
<xpath expr="//div[@t-att-data-constr-error-msg='question.constr_error_msg or default_constr_error_msg']" position="attributes">
<attribute name="t-att-class">'js_question-wrapper pb-4 %s %s col-md-%s' % ('d-none' if not display_question else '', 'mr-2' if extra_right_margin else '',question.sh_survmate_theme_grid_type)</attribute>
</xpath>
</template>
<template id="sh_survmate_theme_question_template_inherit_fill" inherit_id="survey.survey_fill_form" name="Survmate Question Fill">
<xpath expr="//div[hasclass('o_survey_form_content')]" position="attributes">
<attribute name="class">o_survey_form_content row w-100</attribute>
</xpath>
</template>
<!-- Timer Position -->
<template id="sh_survmate_theme_survey_header_inherit" inherit_id="survey.survey_fill_header" name="Emaxamination Header">
<xpath expr="//div[hasclass('o_survey_timer')]" position="attributes">
<attribute name="t-att-class">'o_survey_timer col-lg-2 pt-4 %s' % ('sh_survmate_timer_fixed' if survey.sh_is_time_fixed else '')</attribute>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Survey Form -->
<record id="sh_survmate_theme_survey_question_form_inherit" model="ir.ui.view">
<field name="name">sh.survmate.theme.survey.question.form.inherit</field>
<field name="model">survey.question</field>
<field name="inherit_id" ref="survey.survey_question_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='options']//group" position="after">
<group string='Layout'>
<group>
<field name='sh_survmate_theme_grid_type'/>
</group>
</group>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Survey Form -->
<record id="sh_survmate_theme_survey_settings_form" model="ir.ui.view">
<field name="name">sh.survmate.theme.survey.settings.form</field>
<field name="model">sh.survmate.settings</field>
<field name="arch" type="xml">
<form>
<sheet>
<div class="oe_title" style="width: 100%;">
<label for="name" class="oe_edit_only"/>
<h1><field name="name" placeholder="e.g. Theme Settings for Survey A"/></h1>
</div>
<group>
<group string='Colors'>
<field name='sh_survmate_show_bg_color'/>
<field name="sh_survmate_bg_color" widget="color" attrs="{'invisible': [('sh_survmate_show_bg_color','=',False)]}"/>
<field name="sh_survmate_question_color" widget="color"/>
<field name="sh_survmate_answer_color" widget="color"/>
<field name="sh_survmate_section_title_color" widget="color"/>
<field name='sh_survmate_section_title_font_color' widget="color"/>
<field name='sh_survmate_section_answer_text_color' widget="color"/>
<field name='sh_survmate_theme_primary_color' widget="color"/>
<field name='sh_survmate_theme_secondary_color' widget="color"/>
</group>
<group string="Styles" name="group_button" priority="7">
<!-- Button Style -->
<label for="sh_survmate_button_style"/>
<div>
<field name="sh_survmate_button_style" widget="selection" class="oe_inline" style="width: 70% !important;"/>
<button
type="object"
name="action_preview_theme_style"
class="btn-sm mb4 fa fa-eye"
aria-label="Preview"
title="Preview"
context="{'which_style': 'button'}"
/>
</div>
<!-- Input Style -->
<label for="sh_survmate_input_style"/>
<div>
<field name="sh_survmate_input_style" widget="selection" class="oe_inline" style="width: 70% !important;"/>
<button
type="object"
name="action_preview_theme_style"
class="btn-sm mb4 fa fa-eye"
aria-label="Preview"
title="Preview"
context="{'which_style': 'input'}"
/>
</div>
<!-- Section Style -->
<label for="sh_survmate_section_style"/>
<div>
<field name="sh_survmate_section_style" widget="selection" class="oe_inline" style="width: 70% !important;"/>
<button
type="object"
name="action_preview_theme_style"
class="btn-sm mb4 fa fa-eye"
aria-label="Preview"
title="Preview"
context="{'which_style': 'section'}"
/>
</div>
<!-- Checkbox Style -->
<label for="sh_survmate_checkbox_style"/>
<div>
<field name="sh_survmate_checkbox_style" widget="selection" class="oe_inline" style="width: 70% !important;"/>
<button
type="object"
name="action_preview_theme_style"
class="btn-sm mb4 fa fa-eye"
aria-label="Preview"
title="Preview"
context="{'which_style': 'checkbox'}"
/>
</div>
<!-- Radio Style -->
<label for="sh_survmate_radio_button_style"/>
<div>
<field name="sh_survmate_radio_button_style" widget="selection" class="oe_inline" style="width: 70% !important;"/>
<button
type="object"
name="action_preview_theme_style"
class="btn-sm mb4 fa fa-eye"
aria-label="Preview"
title="Preview"
context="{'which_style': 'radio'}"
/>
</div>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="sh_survmate_theme_survey_settings_tree" model="ir.ui.view">
<field name="name">sh.survmate.settings.tree</field>
<field name="model">sh.survmate.settings</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
</tree>
</field>
</record>
<record id="sh_survmate_theme_survey_settings_action" model="ir.actions.act_window">
<field name="name">Survmate Settings</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sh.survmate.settings</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem
id="sh_survmate_theme_survey_settings_menu"
action="sh_survmate_theme_survey_settings_action"
parent="survey.menu_surveys"
sequence="20"/>
<!-- QUESTIONS
<record id="sh_survmate_theme_survey_question_form" model="ir.ui.view">
<field name="name">sh.survmate.theme.survey.questions.form</field>
<field name="model">survey.question</field>
<field name="inherit_id" ref="survey.survey_question_form"/>
<field name="arch" type="xml">
<xpath expr="//page[2]" position="inside">
<group name="group_sh_survmate_layout" string="Layout">
<group>
<field name="sh_survmate_grid_type" required="1" />
</group>
</group>
</xpath>
</field>
</record>
-->
</odoo>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="sh_survmate_theme_survey_form_inherit" model="ir.ui.view">
<field name="name">sh.survmate.theme.survey.form.inherit</field>
<field name="model">survey.survey</field>
<field name="inherit_id" ref="survey.survey_survey_view_form"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='options']" position="inside">
<group string="Survmate Theme" name="sh_survmate_theme_group">
<field name="sh_survmate_settings_id"/>
</group>
</xpath>
<!-- Timer Fixed -->
<xpath expr="//group[@name='scoring']//field[@name='is_time_limited']" position="after">
<field name="sh_is_time_fixed" attrs="{'invisible': [('is_time_limited','=',False)]}"/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# Part of Softhealer Technologies.
from . import button_style_wizard

View File

@@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
# Part of Softhealer Technologies.
from odoo import models, fields
class ShSurvmateThemeButtonDesignWizard(models.TransientModel):
_name = 'sh.survmate.theme.button.design.wizard'
_description = 'Survmate Theme Button Design'
_order = "id desc"
img_src = fields.Char(string = "Image Src")

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="sh_survmate_theme_button_style_wizard_view" model="ir.ui.view">
<field name="name">sh.survmate.theme.button.style.wizard.view</field>
<field name="model">sh.survmate.theme.button.design.wizard</field>
<field name="arch" type="xml">
<form string="Theme Preview">
<img alt="preview image" id="js_id_theme_preview_image" src="" style="width:100%;height:100%;"/>
<field style="display:none;" name="img_src"/>
<script type="text/javascript">
$( document ).ready(function() {
var img_src = $( "input#img_src").val();
$("#js_id_theme_preview_image").attr('src', img_src);
});
</script>
<footer>
<button string="Cancel" class="btn" special="cancel" />
</footer>
</form>
</field>
</record>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Some files were not shown because too many files have changed in this diff Show More