Includes: - Odoo 19 framework (odoo/) - 27 custom EnCoach addons (new_project/custom_addons/) - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media - encoach_courseware, encoach_communication, encoach_subscription - encoach_notification, encoach_approval, encoach_branding - encoach_classroom, encoach_registration, encoach_stats - encoach_faq, encoach_ticket, encoach_training, encoach_resources - encoach_adaptive_ai, encoach_sis - 21 OpenEduCat Enterprise modules (new_project/enterprise-19/) - 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/) - Configuration: odoo.conf, requirements.txt, scripts - 200+ REST API endpoints with JWT authentication - SRS and test documentation Made-with: Cursor
175 lines
9.3 KiB
XML
175 lines
9.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data noupdate="1">
|
|
<record model="res.groups.privilege" id="res_groups_privilege_surveys">
|
|
<field name="name">Surveys</field>
|
|
<field name="sequence">20</field>
|
|
<field name="category_id" ref="base.module_category_marketing"/>
|
|
</record>
|
|
|
|
<!-- Survey users -->
|
|
<record model="res.groups" id="group_survey_user">
|
|
<field name="name">User</field>
|
|
<field name="sequence">10</field>
|
|
<field name="privilege_id" ref="res_groups_privilege_surveys"/>
|
|
</record>
|
|
|
|
<!-- Survey managers -->
|
|
<record model="res.groups" id="group_survey_manager">
|
|
<field name="name">Administrator</field>
|
|
<field name="sequence">20</field>
|
|
<field name="privilege_id" ref="res_groups_privilege_surveys"/>
|
|
<field name="implied_ids" eval="[(4, ref('group_survey_user'))]"/>
|
|
<field name="user_ids" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
|
</record>
|
|
|
|
<!-- SURVEY: SURVEY, PAGE, STAGE, QUESTION, LABEL -->
|
|
<record id="survey_survey_rule_survey_manager" model="ir.rule">
|
|
<field name="name">Survey: manager: all</field>
|
|
<field name="model_id" ref="survey.model_survey_survey"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_survey_rule_survey_user" model="ir.rule">
|
|
<field name="name">Survey: officer: unrestricted survey or in restricted users</field>
|
|
<field name="model_id" ref="survey.model_survey_survey"/>
|
|
<field name="domain_force">[
|
|
'|', ('restrict_user_ids', 'in', user.id), ('restrict_user_ids', '=', False)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_question_rule_survey_manager" model="ir.rule">
|
|
<field name="name">Survey question: manager: all</field>
|
|
<field name="model_id" ref="survey.model_survey_question"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_question_rule_survey_user" model="ir.rule">
|
|
<field name="name">Survey question: officer: unrestricted survey or in restricted users</field>
|
|
<field name="model_id" ref="survey.model_survey_question"/>
|
|
<field name="domain_force">[
|
|
'|', ('survey_id.restrict_user_ids', 'in', user.id), ('survey_id.restrict_user_ids', '=', False)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_question_answer_rule_survey_manager" model="ir.rule">
|
|
<field name="name">Survey question answer: manager: all</field>
|
|
<field name="model_id" ref="survey.model_survey_question_answer"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_question_answer_rule_survey_user" model="ir.rule">
|
|
<field name="name">Survey question answer: officer: unrestricted survey or in restricted users</field>
|
|
<field name="model_id" ref="survey.model_survey_question_answer"/>
|
|
<field name="domain_force">[
|
|
'|',
|
|
'|', ('question_id.survey_id.restrict_user_ids', 'in', user.id), ('matrix_question_id.survey_id.restrict_user_ids', 'in', user.id),
|
|
'|', ('question_id.survey_id.restrict_user_ids', '=', False), ('matrix_question_id.survey_id.restrict_user_ids', '=', False)]
|
|
</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<!-- SURVEY: USER_INPUT, USER_INPUT_LINE -->
|
|
<record id="survey_user_input_rule_survey_manager" model="ir.rule">
|
|
<field name="name">Survey user input: manager: all non specialized surveys</field>
|
|
<field name="model_id" ref="survey.model_survey_user_input"/>
|
|
<field name="domain_force">[('survey_id.survey_type', 'in', ('assessment', 'custom', 'live_session', 'survey'))]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_user_input_line_rule_survey_manager" model="ir.rule">
|
|
<field name="name">Survey user input line: manager: all non specialized surveys</field>
|
|
<field name="model_id" ref="survey.model_survey_user_input_line"/>
|
|
<field name="domain_force">[('survey_id.survey_type', 'in', ('assessment', 'custom', 'live_session', 'survey'))]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_user_input_rule_survey_user" model="ir.rule">
|
|
<field name="name">Survey user input: officer: unrestricted survey or in restricted users</field>
|
|
<field name="model_id" ref="survey.model_survey_user_input"/>
|
|
<field name="domain_force">[
|
|
'&', ('survey_id.survey_type', 'in', ('assessment', 'custom', 'live_session', 'survey')),
|
|
'|', ('survey_id.restrict_user_ids', 'in', user.id),
|
|
('survey_id.restrict_user_ids', '=', False)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_user_input_line_rule_survey_user" model="ir.rule">
|
|
<field name="name">Survey user input line: officer: unrestricted survey or in restricted users</field>
|
|
<field name="model_id" ref="survey.model_survey_user_input_line"/>
|
|
<field name="domain_force">[
|
|
'&', ('survey_id.survey_type', 'in', ('assessment', 'custom', 'live_session', 'survey')),
|
|
'|', ('survey_id.restrict_user_ids', 'in', user.id),
|
|
('survey_id.restrict_user_ids', '=', False)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
|
|
<field name="perm_unlink" eval="1"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<!-- SURVEY: INVITE -->
|
|
<record id="survey_invite_survey_user" model="ir.rule">
|
|
<field name="name">Survey invite: officer: unrestricted or in restricted users</field>
|
|
<field name="model_id" ref="survey.model_survey_invite"/>
|
|
<field name="domain_force">['|', ('survey_id.restrict_user_ids', 'in', user.id),
|
|
('survey_id.restrict_user_ids', '=', False)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_user'))]"/>
|
|
<field name="perm_unlink" eval="0"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
|
|
<record id="survey_invite_survey_manager" model="ir.rule">
|
|
<field name="name">Survey invite: manager: all</field>
|
|
<field name="model_id" ref="survey.model_survey_invite"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
<field name="groups" eval="[(4, ref('group_survey_manager'))]"/>
|
|
<field name="perm_unlink" eval="0"/>
|
|
<field name="perm_write" eval="1"/>
|
|
<field name="perm_read" eval="1"/>
|
|
<field name="perm_create" eval="1"/>
|
|
</record>
|
|
</data>
|
|
</odoo>
|