Browse Source

Dec 18 : [ADD] Initial Commit 'survey_upload_file'

pull/295/head
AjmalCybro 1 year ago
parent
commit
5dcd861de3
  1. 42
      survey_upload_file/README.rst
  2. 22
      survey_upload_file/__init__.py
  3. 49
      survey_upload_file/__manifest__.py
  4. 7
      survey_upload_file/doc/RELEASE_NOTES.md
  5. 24
      survey_upload_file/models/__init__.py
  6. 38
      survey_upload_file/models/survey_question.py
  7. 83
      survey_upload_file/models/survey_user_input.py
  8. 50
      survey_upload_file/models/survey_user_input_line.py
  9. BIN
      survey_upload_file/static/description/assets/icons/check.png
  10. BIN
      survey_upload_file/static/description/assets/icons/chevron.png
  11. BIN
      survey_upload_file/static/description/assets/icons/cogs.png
  12. BIN
      survey_upload_file/static/description/assets/icons/consultation.png
  13. BIN
      survey_upload_file/static/description/assets/icons/ecom-black.png
  14. BIN
      survey_upload_file/static/description/assets/icons/education-black.png
  15. BIN
      survey_upload_file/static/description/assets/icons/hotel-black.png
  16. BIN
      survey_upload_file/static/description/assets/icons/license.png
  17. BIN
      survey_upload_file/static/description/assets/icons/lifebuoy.png
  18. BIN
      survey_upload_file/static/description/assets/icons/manufacturing-black.png
  19. BIN
      survey_upload_file/static/description/assets/icons/pos-black.png
  20. BIN
      survey_upload_file/static/description/assets/icons/puzzle.png
  21. BIN
      survey_upload_file/static/description/assets/icons/restaurant-black.png
  22. BIN
      survey_upload_file/static/description/assets/icons/service-black.png
  23. BIN
      survey_upload_file/static/description/assets/icons/trading-black.png
  24. BIN
      survey_upload_file/static/description/assets/icons/training.png
  25. BIN
      survey_upload_file/static/description/assets/icons/update.png
  26. BIN
      survey_upload_file/static/description/assets/icons/user.png
  27. BIN
      survey_upload_file/static/description/assets/icons/wrench.png
  28. BIN
      survey_upload_file/static/description/assets/misc/categories.png
  29. BIN
      survey_upload_file/static/description/assets/misc/check-box.png
  30. BIN
      survey_upload_file/static/description/assets/misc/compass.png
  31. BIN
      survey_upload_file/static/description/assets/misc/corporate.png
  32. BIN
      survey_upload_file/static/description/assets/misc/customer-support.png
  33. BIN
      survey_upload_file/static/description/assets/misc/cybrosys-logo.png
  34. BIN
      survey_upload_file/static/description/assets/misc/features.png
  35. BIN
      survey_upload_file/static/description/assets/misc/logo.png
  36. BIN
      survey_upload_file/static/description/assets/misc/pictures.png
  37. BIN
      survey_upload_file/static/description/assets/misc/pie-chart.png
  38. BIN
      survey_upload_file/static/description/assets/misc/right-arrow.png
  39. BIN
      survey_upload_file/static/description/assets/misc/star.png
  40. BIN
      survey_upload_file/static/description/assets/misc/support.png
  41. BIN
      survey_upload_file/static/description/assets/misc/whatsapp.png
  42. BIN
      survey_upload_file/static/description/assets/modules/1.png
  43. BIN
      survey_upload_file/static/description/assets/modules/2.png
  44. BIN
      survey_upload_file/static/description/assets/modules/3.png
  45. BIN
      survey_upload_file/static/description/assets/modules/4.png
  46. BIN
      survey_upload_file/static/description/assets/modules/5.png
  47. BIN
      survey_upload_file/static/description/assets/modules/6.png
  48. BIN
      survey_upload_file/static/description/assets/screenshots/1.png
  49. BIN
      survey_upload_file/static/description/assets/screenshots/2.png
  50. BIN
      survey_upload_file/static/description/assets/screenshots/3.png
  51. BIN
      survey_upload_file/static/description/assets/screenshots/4.png
  52. BIN
      survey_upload_file/static/description/assets/screenshots/5.png
  53. BIN
      survey_upload_file/static/description/assets/screenshots/6.png
  54. BIN
      survey_upload_file/static/description/assets/screenshots/7.png
  55. BIN
      survey_upload_file/static/description/assets/screenshots/8.png
  56. BIN
      survey_upload_file/static/description/assets/screenshots/9.png
  57. BIN
      survey_upload_file/static/description/assets/screenshots/admin multiple upload question.png
  58. BIN
      survey_upload_file/static/description/assets/screenshots/admin view answer.png
  59. BIN
      survey_upload_file/static/description/assets/screenshots/answerview2.png
  60. BIN
      survey_upload_file/static/description/assets/screenshots/answeview parti.png
  61. BIN
      survey_upload_file/static/description/assets/screenshots/checklist pay.png
  62. BIN
      survey_upload_file/static/description/assets/screenshots/delefunction.png
  63. BIN
      survey_upload_file/static/description/assets/screenshots/download from answer if they w..png
  64. BIN
      survey_upload_file/static/description/assets/screenshots/download it here.png
  65. BIN
      survey_upload_file/static/description/assets/screenshots/multi question.png
  66. BIN
      survey_upload_file/static/description/assets/screenshots/mutiupload partic.png
  67. BIN
      survey_upload_file/static/description/assets/screenshots/no sales.png
  68. BIN
      survey_upload_file/static/description/assets/screenshots/question downpoijdcoisd.png
  69. BIN
      survey_upload_file/static/description/assets/screenshots/question.single.png
  70. BIN
      survey_upload_file/static/description/assets/screenshots/questionsingle.view.png
  71. BIN
      survey_upload_file/static/description/assets/screenshots/review test.png
  72. BIN
      survey_upload_file/static/description/assets/screenshots/smartbutton to view quest.png
  73. BIN
      survey_upload_file/static/description/assets/screenshots/suvey form view for single.png
  74. BIN
      survey_upload_file/static/description/assets/screenshots/united states country.png
  75. BIN
      survey_upload_file/static/description/assets/screenshots/v16-hero (1).gif
  76. BIN
      survey_upload_file/static/description/assets/screenshots/vieq question.png
  77. BIN
      survey_upload_file/static/description/banner.png
  78. BIN
      survey_upload_file/static/description/icon.png
  79. 593
      survey_upload_file/static/description/index.html
  80. 77
      survey_upload_file/static/src/js/survey_form_attachment.js
  81. 23
      survey_upload_file/views/survey_question_views.xml
  82. 67
      survey_upload_file/views/survey_templates.xml
  83. 20
      survey_upload_file/views/survey_user_views.xml

42
survey_upload_file/README.rst

@ -0,0 +1,42 @@
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
File Upload In Survey
=====================
This module is used for attachment of files in Survey Form
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
License
-------
General Public License, Version 3 (AGPL v3).
(https://www.gnu.org/licenses/agpl-3.0-standalone.html)
Credits
-------
Developer: (V16) Anfas Faisal K@ Cybrosys, Contact: odoo@cybrosys.com
Contacts
--------
* Mail Contact : odoo@cybrosys.com
* Website : https://cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
.. image:: https://cybrosys.com/images/logo.png
:target: https://cybrosys.com
This module is maintained by Cybrosys Technologies.
For support and more information, please visit `Our Website <https://cybrosys.com/>`__
Further information
===================
HTML Description: `<static/description/index.html>`__

22
survey_upload_file/__init__.py

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anfas Faisal K (odoo@cybrosys.info)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from . import models

49
survey_upload_file/__manifest__.py

@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anfas Faisal K (odoo@cybrosys.info)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
{
'name': "File Upload In Survey",
'version': "16.0.1.0.0",
'category': 'Extra Tools',
'summary': 'Attachment of File in Survey Form',
'description': 'This module is used for attachments of file in Survey Form,'
'You can also add multiple file attachment to Survey Form .',
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': 'https://www.cybrosys.com',
'depends': ['survey'],
'assets': {
'web.assets_frontend': [
'survey_upload_file/static/src/js/survey_form_attachment.js',
],
},
'data': [
'views/survey_question_views.xml',
'views/survey_user_views.xml',
'views/survey_templates.xml',
],
'images': ['static/description/banner.png'],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
'application': False,
}

7
survey_upload_file/doc/RELEASE_NOTES.md

@ -0,0 +1,7 @@
## Module <survey_upload_file>
#### 15.12.2023
#### Version 16.0.1.0.0
#### ADD
- Initial Commit for File Upload In Survey

24
survey_upload_file/models/__init__.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anfas Faisal K (odoo@cybrosys.info)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from . import survey_question
from . import survey_user_input_line
from . import survey_user_input

38
survey_upload_file/models/survey_question.py

@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anfas Faisal K (odoo@cybrosys.info)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from odoo import fields, models
class SurveyQuestion(models.Model):
"""
This class extends the 'survey.question' model to add new functionality
for file uploads.
"""
_inherit = 'survey.question'
question_type = fields.Selection(
selection_add=[('upload_file', 'Upload File')],
help='Select the type of question to create.')
upload_multiple_file = fields.Boolean(string='Upload Multiple File',
help='Check this box if you want to '
'allow users to upload '
'multiple files')

83
survey_upload_file/models/survey_user_input.py

@ -0,0 +1,83 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anfas Faisal K (odoo@cybrosys.info)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from odoo import models
class SurveyUserInput(models.Model):
"""
This class extends the 'survey.user_input' model to add custom
functionality for saving user answers.
Methods:
save_lines: Save the user's answer for the given question
_save_line_file:Save the user's file upload answer for the given
question
_get_line_answer_file_upload_values:
Get the values to use when creating or updating a user input line
for a file upload answer
"""
_inherit = "survey.user_input"
def save_lines(self, question, answer, comment=None):
"""Save the user's answer for the given question."""
old_answers = self.env['survey.user_input.line'].search([
('user_input_id', '=', self.id),
('question_id', '=', question.id), ])
if question.question_type in 'upload_file':
res = self._save_line_file(question, old_answers, answer)
else:
res = super().save_lines(question, answer, comment)
return res
def _save_line_file(self, question, old_answers, answer):
""" Save the user's file upload answer for the given question."""
vals = self._get_line_answer_file_upload_values(question,
'upload_file', answer)
if old_answers:
old_answers.write(vals)
return old_answers
else:
return self.env['survey.user_input.line'].create(vals)
def _get_line_answer_file_upload_values(self, question, answer_type,
answer):
"""Get the values to use when creating or updating a user input line
for a file upload answer."""
vals = {
'user_input_id': self.id,
'question_id': question.id,
'skipped': False,
'answer_type': answer_type,
}
if answer_type == 'upload_file':
file_data = answer[0]
file_name = answer[1]
attachment_ids = []
for file in range(len(answer[1])):
attachment = self.env['ir.attachment'].create({
'name': file_name[file],
'type': 'binary',
'datas': file_data[file],
})
attachment_ids.append(attachment.id)
vals['value_file_data_ids'] = attachment_ids
return vals

50
survey_upload_file/models/survey_user_input_line.py

@ -0,0 +1,50 @@
# -*- coding: utf-8 -*-
################################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
# Author: Anfas Faisal K (odoo@cybrosys.info)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
from odoo import api, fields, models
class SurveyUserInputLine(models.Model):
"""
This class extends the 'survey.user_input.line' model to add additional
fields and constraints for file uploads.
Methods:
_check_answer_type_skipped:Check that a line's answer type is
not set to 'upload_file' if the line is skipped
"""
_inherit = "survey.user_input.line"
answer_type = fields.Selection(
selection_add=[('upload_file', 'Upload File')],
help="The type of answer for this question (upload_file if the user "
"is uploading a file).")
value_file_data_ids = fields.Many2many('ir.attachment',
help="The attachments "
"corresponding to the user's "
"file upload answer, if any.")
@api.constrains('skipped', 'answer_type')
def _check_answer_type_skipped(self):
""" Check that a line's answer type is not set to 'upload_file' if
the line is skipped."""
for line in self:
if line.answer_type != 'upload_file':
super(SurveyUserInputLine, line)._check_answer_type_skipped()

BIN
survey_upload_file/static/description/assets/icons/check.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
survey_upload_file/static/description/assets/icons/chevron.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

BIN
survey_upload_file/static/description/assets/icons/cogs.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
survey_upload_file/static/description/assets/icons/consultation.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
survey_upload_file/static/description/assets/icons/ecom-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

BIN
survey_upload_file/static/description/assets/icons/education-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

BIN
survey_upload_file/static/description/assets/icons/hotel-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

BIN
survey_upload_file/static/description/assets/icons/license.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
survey_upload_file/static/description/assets/icons/lifebuoy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
survey_upload_file/static/description/assets/icons/manufacturing-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

BIN
survey_upload_file/static/description/assets/icons/pos-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

BIN
survey_upload_file/static/description/assets/icons/puzzle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

BIN
survey_upload_file/static/description/assets/icons/restaurant-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

BIN
survey_upload_file/static/description/assets/icons/service-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

BIN
survey_upload_file/static/description/assets/icons/trading-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

BIN
survey_upload_file/static/description/assets/icons/training.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

BIN
survey_upload_file/static/description/assets/icons/update.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
survey_upload_file/static/description/assets/icons/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

BIN
survey_upload_file/static/description/assets/icons/wrench.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
survey_upload_file/static/description/assets/misc/categories.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
survey_upload_file/static/description/assets/misc/check-box.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
survey_upload_file/static/description/assets/misc/compass.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
survey_upload_file/static/description/assets/misc/corporate.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
survey_upload_file/static/description/assets/misc/customer-support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
survey_upload_file/static/description/assets/misc/cybrosys-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
survey_upload_file/static/description/assets/misc/features.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

BIN
survey_upload_file/static/description/assets/misc/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
survey_upload_file/static/description/assets/misc/pictures.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
survey_upload_file/static/description/assets/misc/pie-chart.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
survey_upload_file/static/description/assets/misc/right-arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

BIN
survey_upload_file/static/description/assets/misc/star.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
survey_upload_file/static/description/assets/misc/support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
survey_upload_file/static/description/assets/misc/whatsapp.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
survey_upload_file/static/description/assets/modules/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
survey_upload_file/static/description/assets/modules/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
survey_upload_file/static/description/assets/modules/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
survey_upload_file/static/description/assets/modules/4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
survey_upload_file/static/description/assets/modules/5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
survey_upload_file/static/description/assets/modules/6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
survey_upload_file/static/description/assets/screenshots/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
survey_upload_file/static/description/assets/screenshots/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
survey_upload_file/static/description/assets/screenshots/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
survey_upload_file/static/description/assets/screenshots/4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
survey_upload_file/static/description/assets/screenshots/5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
survey_upload_file/static/description/assets/screenshots/6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
survey_upload_file/static/description/assets/screenshots/7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
survey_upload_file/static/description/assets/screenshots/8.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
survey_upload_file/static/description/assets/screenshots/9.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
survey_upload_file/static/description/assets/screenshots/admin multiple upload question.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
survey_upload_file/static/description/assets/screenshots/admin view answer.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
survey_upload_file/static/description/assets/screenshots/answerview2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
survey_upload_file/static/description/assets/screenshots/answeview parti.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
survey_upload_file/static/description/assets/screenshots/checklist pay.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
survey_upload_file/static/description/assets/screenshots/delefunction.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
survey_upload_file/static/description/assets/screenshots/download from answer if they w..png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
survey_upload_file/static/description/assets/screenshots/download it here.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
survey_upload_file/static/description/assets/screenshots/multi question.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
survey_upload_file/static/description/assets/screenshots/mutiupload partic.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
survey_upload_file/static/description/assets/screenshots/no sales.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
survey_upload_file/static/description/assets/screenshots/question downpoijdcoisd.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
survey_upload_file/static/description/assets/screenshots/question.single.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
survey_upload_file/static/description/assets/screenshots/questionsingle.view.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
survey_upload_file/static/description/assets/screenshots/review test.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
survey_upload_file/static/description/assets/screenshots/smartbutton to view quest.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
survey_upload_file/static/description/assets/screenshots/suvey form view for single.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
survey_upload_file/static/description/assets/screenshots/united states country.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

BIN
survey_upload_file/static/description/assets/screenshots/v16-hero (1).gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

BIN
survey_upload_file/static/description/assets/screenshots/vieq question.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
survey_upload_file/static/description/banner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
survey_upload_file/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

593
survey_upload_file/static/description/index.html

@ -0,0 +1,593 @@
<div style="background-color: #714B67; height: 810px; width: 100%; padding: 15px; position: relative;">
<!-- TITLE BAR -->
<div class="d-flex align-items-center justify-content-between"
style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;">
<img src="assets/misc/cybrosys-logo.png" width="42" height="42" style="width: 42px; height: 42px;" />
<div>
<div
style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Community
</div>
<div style="color: #875A7B; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
class="mr-2">
<i class="fa fa-check mr-1"></i>Enterprise
</div>
<div style="color: #017E84; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;" class="mr-2">
<i class="fa fa-check mr-1"></i>Odoo.sh
</div>
</div>
</div>
<!-- END OF TITLE BAR -->
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12">
<!-- APP HERO -->
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">
File Upload In Survey
</h1>
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">File Upload In Survey Adds Single Or Multiple File Upload Options In Survey.
</p>
<!-- END OF APP HERO -->
<img src="assets/screenshots/v16-hero (1).gif" class="img-responsive"
style="width: 100%; margin-left: auto; margin-right: auto;" />
</div>
</div>
</div>
</div>
<!-- NAVIGATION SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/compass.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Explore This Module</h2>
</div>
<div class="row my-4" style="font-family: 'Montserrat', sans-serif;">
<div class="col-sm-12 col-md-6 my-3">
<a href="#overview">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span>
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">Learn more about this module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#features">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span>
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
features of this
module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
<div class="col-sm-12 col-md-6 my-3">
<a href="#screenshots">
<div class="d-flex justify-content-between align-items-center"
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
<div>
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span>
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View screenshots for this module</span>
</div>
<img src="assets/misc/right-arrow.png" width="36" height="36" />
</div>
</a>
</div>
</div>
<!-- END OF NAVIGATION SECTION -->
<!-- OVERVIEW SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="overview">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pie-chart.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Overview
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 py-4">
File Upload In Survey Odoo app adds single or multiple file upload options to surveys. Users can add questions to the survey that allow participants to upload files as answers. Participants can either choose to upload a single file or add multiple files in response to the survey question. Participants can view their uploaded attachments by clicking the "review your answers" button in the survey. </div>
</div>
<!-- END OF OVERVIEW SECTION -->
<!-- FEATURES SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="features">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/features.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Features
</h2>
</div>
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
<div class="col-sm-12 col-md-6">
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> User can upload file for survey questions. </span>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> Upload single file as answer for survey questions or Upload multiple file as answer for survey questions.
</span>
</div>
</div>
<div class="d-flex align-items-center" style="margin-top: 30px; margin-bottom: 30px">
<img src="assets/misc/check-box.png" class="mr-2" />
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> Participants can view their answer in the 'review your answers' button in Survey form.
</span>
</div>
</div>
<div class="col-sm-12 col-md-6">
</div>
<!-- END OF FEATURES SECTION -->
<!-- SCREENSHOTS SECTION -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="screenshots">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/pictures.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Screenshots
</h2>
</div>
<h1><center>Single Download attachments</center></h1>
<div class="row">
<div class="col-sm-12">
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">On survey user can add questions as file upload type and allow user to add file as attachment answer.
</h3>
<img src="assets/screenshots/1.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">User can select "Upload File" as "Question Type", User can also see question type view icon for file upload.
</h3>
<img src="assets/screenshots/2.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">On survey participants can see "Choose file" options for "File Upload" question type, by clicking this button user can upload a file as attachment and also a note is shown so the Participant can know he can only upload one File.
</h3>
<img src="assets/screenshots/suvey form view for single.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Once participants finish survey he/she can view attached file by clicking "review your answers" button.
</h3>
<img src="assets/screenshots/review test.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
The Participant can view and download the attachments by clicking the File Name.
</h3>
<img src="assets/screenshots/download from answer if they w..png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
User can see uploaded files on by clicking the smart button inside question form.
</h3>
<img src="assets/screenshots/3.png" class="img-thumbnail">
</div>
<div>
<img src="assets/screenshots/4.png" class="img-thumbnail">
</div>
<div>
<img src="assets/screenshots/5.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
The User can Download the Attachment of the Participant Here.
</h3>
<img src="assets/screenshots/6.png" class="img-thumbnail">
</div>
<h1><center>Multiple Download attachments</center></h1>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
On survey user can add questions as file upload type and allow survey participants to add multiple file as attachment answer.
</h3>
<img src="assets/screenshots/7.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
User can select "File Upload" as "Question Type", User also need to enable " Upload Multiple file" options only then survey participants can also see question type view icon for file upload.</h3>
<img src="assets/screenshots/8.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
On survey participants can see "Choose File" options for "File Upload" question type, by clicking this button user can select and upload multiple files as attachment and also a note is shown so the Participant can know he can upload multiple Files.
</h3>
<img src="assets/screenshots/mutiupload partic.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
On survey participants can see "Choose File" options for "File Upload" question type, by clicking this button user can select and upload multiple files as attachment and also a note is shown so the Participant can know he can upload multiple Files.
</h3>
<img src="assets/screenshots/mutiupload partic.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
Once participants finish survey he/she can view all uploaded multiple file by clicking "review your answers" button and also download and view attachments by clicking file.
</h3>
<img src="assets/screenshots/review test.png" class="img-thumbnail">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
The Participant can view and download the attachments by clicking the File Name.
</h3>
<img src="assets/screenshots/answeview parti.png" class="img-thumbnail">
</div>
<div style="display: block; margin: 30px auto;">
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
User can see uploaded files on answers.
</h3>
<img src="assets/screenshots/9.png" class="img-thumbnail">
</div>
</div>
</div>
<!-- END OF SCREENSHOTS SECTION -->
<!-- RELATED PRODUCTS -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/categories.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Related
Products
</h2>
</div>
<div class="row">
<div class="col-sm-12">
<div id="demo1" class="row carousel slide" data-ride="carousel">
<!-- The slideshow -->
<div class="carousel-inner" style="padding: 30px;">
<div class="carousel-item" style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/pos_delete_orderline/" target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/1.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/invoice_multi_approval/#" target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/2.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/pos_numpad_show_hide/#" target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/3.png">
</div>
</a>
</div>
</div>
<div class="carousel-item active" style="min-height: 198.656px;">
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/website_hide_variants/" target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/4.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/developer_mode/#" target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/5.png">
</div>
</a>
</div>
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left">
<a href="https://apps.odoo.com/apps/modules/16.0/inventory_barcode_scanning/" target="_blank">
<div style="border-radius:10px">
<img class="img img-responsive center-block" style="border-radius: 0px;" src="assets/modules/6.png">
</div>
</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="carousel-control-prev" href="#demo1" data-slide="prev" style="width:35px; color:#000"> <span
class="carousel-control-prev-icon"><i class="fa fa-chevron-left" style="font-size:24px"></i></span>
</a> <a class="carousel-control-next" href="#demo1" data-slide="next" style="width:35px; color:#000">
<span class="carousel-control-next-icon"><i class="fa fa-chevron-right" style="font-size:24px"></i></span>
</a>
</div>
</div>
</div>
<!-- END OF RELATED PRODUCTS -->
<!-- OUR SERVICES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/star.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our Services
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Hire Odoo Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Licensing Consultancy</h6>
</div>
</div>
</div>
<!-- END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/corporate.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Our
Industries
</h2>
</div>
<div class="container my-5">
<div class="row">
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easily procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
A platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Plan, track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Keep track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Run your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
<img src="assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</div>
<!-- END OF OUR INDUSTRIES -->
<!-- SUPPORT -->
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
<div class="d-flex justify-content-center align-items-center mr-2"
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
<img src="assets/misc/customer-support.png" />
</div>
<h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Support
</h2>
</div>
<div class="container mt-5">
<div class="row">
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4 d-flex justify-content-center align-items-center"
style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/support.png" height="48" width="48" style="width: 42px; height: 42px;" />
</div>
<div>
<h4>Need Help?</h4>
<p style="line-height: 100%;">Got questions or need help? Get in touch.</p>
<a href="mailto:odoo@cybrosys.com">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
odoo@cybrosys.com</p>
</a>
</div>
</div>
</div>
<div class="col-sm-12 col-md-6">
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
<div class="mr-4 d-flex justify-content-center align-items-center"
style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
<img src="assets/misc/whatsapp.png" height="52" width="52" style="width: 52px; height: 52px;" />
</div>
<div>
<h4>WhatsApp</h4>
<p style="line-height: 100%;">Say hi to us on WhatsApp!</p>
<a href="https://api.whatsapp.com/send?phone=918606827707">
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">+91 86068
27707</p>
</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 my-5 d-flex justify-content-center align-items-center">
<img src="assets/misc/logo.png" width="144" height="31" style="width:144px; height: 31px; margin-top: 40px;" />
</div>
</div>
</div>
<!-- END OF SUPPORT -->

77
survey_upload_file/static/src/js/survey_form_attachment.js

@ -0,0 +1,77 @@
odoo.define('survey_upload_file', function (require) {
'use strict';
var SurveyFormWidget = require('survey.form');
var core = require('web.core');
SurveyFormWidget.include({
events: _.extend({}, SurveyFormWidget.prototype.events,{
'change .o_survey_upload_file': '_onFileChange',
}),
start: function () {
return this._super.apply(this, arguments)
},
//On adding file function
_onFileChange: function(event) {
var self = this;
var files = event.target.files;
var fileNames = [];
var dataURLs = [];
for (let i = 0; i < files.length; i++) {
var reader = new FileReader();
reader.readAsDataURL(files[i]);
reader.onload = function(e) {
var file = files[i];
var filename = file.name;
var dataURL = e.target.result.split(',')[1]; // split base64 data
fileNames.push(filename);
dataURLs.push(dataURL);
// set the data-oe-data and data-oe-file_name attributes of the input element
// self call el
var $input = self.$el.find('input.o_survey_upload_file');
$input.attr('data-oe-data', JSON.stringify(dataURLs));
$input.attr('data-oe-file_name', JSON.stringify(fileNames));
// create file list elements
var fileList = document.getElementById('fileList');
fileList.innerHTML = ''; // clear previous contents of file list
var ul = document.createElement('ul');
fileNames.forEach(function(fileName) {
var li = document.createElement('li');
li.textContent = fileName;
ul.appendChild(li);
});
// create delete button
var deleteBtn = document.createElement('button');
deleteBtn.textContent = 'Delete All';
deleteBtn.addEventListener('click', function() {
// clear file list
fileList.innerHTML = '';
// clear input field attributes
$input.attr('data-oe-data', '');
$input.attr('data-oe-file_name', '');
self.$el.find('input[type="file"]').val('');
});
// append file list and delete button to file input container
fileList.appendChild(ul);
fileList.appendChild(deleteBtn);
}
}
},
// Get all question answers by question type
_prepareSubmitValues: function (formData, params) {
this._super(formData, params)
this.$('[data-question-type]').each(function () {
if ($(this).data('questionType') === 'upload_file'){
params[this.name] = [$(this).data('oe-data'), $(this).data('oe-file_name')];
}
});
},
});
});

23
survey_upload_file/views/survey_question_views.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Inherited form view if survey.question-->
<record id="survey_question_form" model="ir.ui.view">
<field name="name">survey.question.view.form.inherit.survey.upload.file</field>
<field name="model">survey.question</field>
<field name="inherit_id" ref="survey.survey_question_form"/>
<field name="arch" type="xml">
<xpath expr="//div[hasclass('o_preview_questions')]"
position="inside">
<div attrs="{'invisible': [('question_type', '!=', 'upload_file')]}">
<p class="o_upload_file">Upload Files
<i class="fa fa-upload"/>
</p>
</div>
</xpath>
<xpath expr="//field[@name='constr_mandatory']" position="after">
<field name="upload_multiple_file"
attrs="{'invisible': [('question_type', '!=', 'upload_file')]}"/>
</xpath>
</field>
</record>
</odoo>

67
survey_upload_file/views/survey_templates.xml

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- if question_type= upload file then t-call template-->
<template id="question_page_upload_answer"
inherit_id="survey.question_container">
<xpath expr="//div[@role='alert']" position="before">
<t t-if="question.question_type == 'upload_file'">
<t t-call="survey_upload_file.multi_upload_file"/>
</t>
</xpath>
</template>
<!-- Answer View-->
<template id="multi_upload_file">
<div class="o_survey_upload_container">
<div class="o_survey_upload_box">
<div class="o_survey_upload_box_header">Upload Files</div>
<br/>
<div class="o_survey_upload_box_body">
<input type="file" class="o_survey_upload_file"
data-oe-data=""
data-oe-file_name=""
t-att-data-question-type="question.question_type"
t-att-name="question.id"
t-att-multiple="question.upload_multiple_file"
/>
</div>
</div>
<br/>
<div id="fileList" class="o_survey_upload_list"/>
<t t-if="question.upload_multiple_file == False">
<div class="o_survey_upload_note">Note: You can only upload one
file.
</div>
</t>
<t t-if="question.upload_multiple_file == True">
<div class="o_survey_upload_note">Note: You can upload
Multiple files.
</div>
</t>
</div>
</template>
<!--Show the answer in print page if question type = upload file then t-call template-->
<template id="survey_page_print_upload_answer"
inherit_id="survey.survey_page_print">
<xpath expr="//div[hasclass('o_survey_question_error')]"
position="before">
<t t-if="question.question_type == 'upload_file'">
<t t-call="survey_upload_file.multi_upload_answer"/>
</t>
</xpath>
</template>
<!--Answer Value attachments-->
<template id="multi_upload_answer">
<t t-if="answer_lines.value_file_data_ids">
<div>
<t t-foreach="answer_lines.value_file_data_ids"
t-as="attachment">
<a t-attf-href="/web/content/{{ attachment.id }}?download=true">
<i class="fa fa-download"/>
<t t-esc="attachment.name"/>
</a>
<br/>
</t>
</div>
</t>
</template>
</odoo>

20
survey_upload_file/views/survey_user_views.xml

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Inherited the survey.user_input.line to add fields -->
<record id="survey_user_input_line_view_form" model="ir.ui.view">
<field name="name">survey.user_input.line.view.form.inherit.survey.upload.file</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">
<xpath expr="//field[@name='suggested_answer_id']" position="after">
<field name="value_file_data_ids">
<tree>
<field name="name"/>
<field name="file_size"/>
<field name="type"/>
</tree>
</field>
</xpath>
</field>
</record>
</odoo>
Loading…
Cancel
Save