[NEW] first commit for all modules coming from training-tools
This commit is contained in:
1
survey_base/__init__.py
Normal file
1
survey_base/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from . import models
|
26
survey_base/__manifest__.py
Normal file
26
survey_base/__manifest__.py
Normal file
@@ -0,0 +1,26 @@
|
||||
# Copyright 2016-2020 Akretion France (<https://www.akretion.com>)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
"name": "Survey base",
|
||||
'summary': 'Add fields used by several survey addons',
|
||||
'description': """
|
||||
Add fields used by several survey addons
|
||||
----------------------------------------------------
|
||||
* Add record reference in survey_question and survey.user_input.line
|
||||
* Add value_file in survey.user_input.line
|
||||
* Implementation of theses fields should be in another module
|
||||
|
||||
""",
|
||||
"version": "16.0.1.0.0",
|
||||
"license": "AGPL-3",
|
||||
"author": "Elabore",
|
||||
"website": "https://www.elabore.coop",
|
||||
"category": "",
|
||||
"depends": ["survey"],
|
||||
"data": [
|
||||
|
||||
],
|
||||
"installable": True,
|
||||
}
|
2
survey_base/models/__init__.py
Normal file
2
survey_base/models/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from . import survey_question_answer
|
||||
from . import survey_user_input_line
|
19
survey_base/models/survey_question_answer.py
Normal file
19
survey_base/models/survey_question_answer.py
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
import logging
|
||||
import textwrap
|
||||
import uuid
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tools import float_is_zero
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class SurveyQuestionAnswer(models.Model):
|
||||
_inherit = 'survey.question.answer'
|
||||
|
||||
record_reference = fields.Many2oneReference(model_field="record_reference_model", string="Record")
|
||||
record_reference_model = fields.Char("Record Model")
|
46
survey_base/models/survey_user_input_line.py
Normal file
46
survey_base/models/survey_user_input_line.py
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
import logging
|
||||
import textwrap
|
||||
import uuid
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tools import float_is_zero
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class SurveyUserInputLine(models.Model):
|
||||
_inherit = 'survey.user_input.line'
|
||||
|
||||
#attachment fields
|
||||
value_file = fields.Binary(string="File")
|
||||
value_file_fname = fields.Char(string="File Name")
|
||||
|
||||
#record reference fields
|
||||
record_reference = fields.Many2oneReference(model_field="record_reference_model", string="Record")
|
||||
record_reference_model = fields.Char('Record model')
|
||||
|
||||
"""set record_reference when saving survey_user_input line
|
||||
"""
|
||||
def set_record_reference_data(self, vals):
|
||||
if vals.get('answer_type') == "suggestion" and 'suggested_answer_id' in vals:
|
||||
#find model
|
||||
answer = self.env['survey.question.answer'].browse(vals['suggested_answer_id'])
|
||||
vals['record_reference_model'] = answer.record_reference_model
|
||||
vals['record_reference'] = answer.record_reference
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
for vals in vals_list:
|
||||
self.set_record_reference_data(vals)
|
||||
return super(SurveyUserInputLine, self).create(vals_list)
|
||||
|
||||
|
||||
def write(self, vals):
|
||||
self.set_record_reference_data(vals)
|
||||
return super(SurveyUserInputLine, self).write(vals)
|
||||
|
||||
|
Reference in New Issue
Block a user