diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d1ba00d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+__pycache__/
+*.py[cod]
+*$py.class
+.DS_Store
+.idea/
+.vscode/
+*.swp
+*.swo
diff --git a/__manifest__.py b/__manifest__.py
index 3a28c7e..eecf617 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -14,6 +14,7 @@
'depends': ['survey'],
'data': [
'data/survey_data.xml',
+ 'views/survey_survey_views.xml',
'views/survey_user_input_views.xml',
'views/survey_templates.xml',
'report/survey_disc_report.xml',
diff --git a/data/survey_data.xml b/data/survey_data.xml
index ada15d6..90a772e 100644
--- a/data/survey_data.xml
+++ b/data/survey_data.xml
@@ -6,6 +6,7 @@
no_scoring
one_page
+
diff --git a/models/__init__.py b/models/__init__.py
index 011c120..3771b66 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
+from . import survey_survey
from . import survey_question_answer
from . import survey_user_input
diff --git a/models/survey_survey.py b/models/survey_survey.py
new file mode 100644
index 0000000..aa4458d
--- /dev/null
+++ b/models/survey_survey.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+from odoo import fields, models
+
+class SurveySurvey(models.Model):
+ _inherit = 'survey.survey'
+
+ is_disc_test = fields.Boolean("Is DISC Test", default=False)
diff --git a/models/survey_user_input.py b/models/survey_user_input.py
index 2bac398..b357753 100644
--- a/models/survey_user_input.py
+++ b/models/survey_user_input.py
@@ -29,6 +29,8 @@ class SurveyUserInput(models.Model):
def _mark_done(self):
""" Strictly enforce DISC validation: Exactly 1 P and 1 K per set. """
for rec in self:
+ if not rec.survey_id.is_disc_test:
+ continue
# Group lines by question
lines_by_question = {}
for line in rec.user_input_line_ids:
@@ -56,6 +58,12 @@ class SurveyUserInput(models.Model):
@api.depends('user_input_line_ids', 'user_input_line_ids.suggested_answer_id')
def _compute_disc_scores(self):
for rec in self:
+ if not rec.survey_id.is_disc_test:
+ rec.p_d = rec.p_i = rec.p_s = rec.p_c = rec.p_star = 0
+ rec.k_d = rec.k_i = rec.k_s = rec.k_c = rec.k_star = 0
+ rec.c_d = rec.c_i = rec.c_s = rec.c_c = 0
+ rec.disc_profile = False
+ continue
# Initialize counts
counts = {
'p': {'D': 0, 'I': 0, 'S': 0, 'C': 0, '*': 0},
diff --git a/views/survey_survey_views.xml b/views/survey_survey_views.xml
new file mode 100644
index 0000000..df931b2
--- /dev/null
+++ b/views/survey_survey_views.xml
@@ -0,0 +1,13 @@
+
+
+
+ survey.survey.view.form.inherit.disc
+ survey.survey
+
+
+
+
+
+
+
+