34 lines
1.4 KiB
Python
34 lines
1.4 KiB
Python
import re
|
|
|
|
with open('addons/education_lms/security/security.xml', 'r') as f:
|
|
text = f.read()
|
|
|
|
# I need to restore the original domain AND add perm_read="True"
|
|
# Let's replace the whole Student Course Access rule.
|
|
new_course_rule = """<record id="rule_lms_course_student" model="ir.rule">
|
|
<field name="name">Student Course Access</field>
|
|
<field name="model_id" ref="model_education_lms_course"/>
|
|
<field name="domain_force">[
|
|
('state', 'in', ['published', 'closed']),
|
|
('program_id', 'in', user.student_ids.mapped('program_id').ids),
|
|
('academic_year_id', 'in', user.student_ids.mapped('academic_year_id').ids),
|
|
'|', ('term_id', '=', False), ('term_id', 'in', user.student_ids.mapped('academic_term_id').ids),
|
|
'|', ('batch_id', '=', False), ('batch_id', 'in', user.student_ids.mapped('batch_id').ids),
|
|
]</field>
|
|
<field name="groups" eval="[(4, ref('group_education_lms_student'))]"/>
|
|
<field name="perm_read" eval="True"/>
|
|
<field name="perm_write" eval="False"/>
|
|
<field name="perm_create" eval="False"/>
|
|
<field name="perm_unlink" eval="False"/>
|
|
</record>"""
|
|
|
|
text = re.sub(
|
|
r'<record id="rule_lms_course_student" model="ir.rule">.*?</record>',
|
|
new_course_rule,
|
|
text,
|
|
flags=re.DOTALL
|
|
)
|
|
|
|
with open('addons/education_lms/security/security.xml', 'w') as f:
|
|
f.write(text)
|