TIP: You can type at any time to perform a new search.
OpenEduCat Exam
openeducat_exam · OCA/vertical-education
- Repository
- OCA/vertical-education · module folder · Try on Runboat
- Module version
- 3.0.0
- Category
- Education
- Folder size
- 0.46 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- http://www.openeducat.org
- Last tracking update
- 2026-08-07 07:17:52
- Authors
- Tech Receptives
- Maintainers
- Tech Receptives
- Committers
- Maxime Chambreuil, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Parthiv Patel, Ajay Chauhan, ajaychauhan727
Code Analysis ⓘ
Views touched (35)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
report_exam_student_lable |
report_exam_student_lable | ir.ui.view | qweb | New |
report_marksheet_report |
report_marksheet_report | ir.ui.view | qweb | New |
report_ticket |
report_ticket | ir.ui.view | qweb | New |
student_hall_ticket_form |
student.hall.ticket.form | student.hall.ticket | form | New |
view_op_exam_attendees_form |
op.exam.attendees.form | op.exam.attendees | form | New |
view_op_exam_attendees_search |
op.exam.attendees.search | op.exam.attendees | search | New |
view_op_exam_attendees_tree |
op.exam.attendees.tree | op.exam.attendees | tree | New |
view_op_exam_form |
op.exam.form | op.exam | form | New |
view_op_exam_room_form |
op.exam.room.form | op.exam.room | form | New |
view_op_exam_room_search |
op.exam.room.search | op.exam.room | search | New |
view_op_exam_room_tree |
op.exam.room.tree | op.exam.room | tree | New |
view_op_exam_search |
op.exam.search | op.exam | search | New |
view_op_exam_session_form |
op.exam.session.form | op.exam.session | form | New |
view_op_exam_session_search |
op.exam.session.search | op.exam.session | search | New |
view_op_exam_session_tree |
op.exam.session.tree | op.exam.session | tree | New |
view_op_exam_tree |
op.exam.tree | op.exam | tree | New |
view_op_exam_type_form |
op.exam.type.form | op.exam.type | form | New |
view_op_exam_type_search |
op.exam.type.search | op.exam.type | search | New |
view_op_exam_type_tree |
op.exam.type.tree | op.exam.type | tree | New |
view_op_grade_configuration_form |
op.grade.configuration.form | op.grade.configuration | form | New |
view_op_grade_configuration_tree |
op.grade.configuration.tree | op.grade.configuration | tree | New |
view_op_held_exam_form |
op.held.exam.form | op.held.exam | form | New |
view_op_marksheet_line_form |
op.marksheet.line.form | op.marksheet.line | form | New |
view_op_marksheet_line_search |
op.marksheet.line.search | op.marksheet.line | search | New |
view_op_marksheet_line_tree |
op.marksheet.line.tree | op.marksheet.line | tree | New |
view_op_marksheet_register_form |
op.marksheet.register.form | op.marksheet.register | form | New |
view_op_marksheet_register_search |
op.marksheet.register.search | op.marksheet.register | search | New |
view_op_marksheet_register_tree |
op.marksheet.register.tree | op.marksheet.register | tree | New |
view_op_result_line_form |
op.result.line.form | op.result.line | form | New |
view_op_result_line_search |
op.result.line.search | op.result.line | search | New |
view_op_result_line_tree |
op.result.line.tree | op.result.line | tree | New |
view_op_result_template_form |
op.result.template.form | op.result.template | form | New |
view_op_result_template_search |
op.result.template.search | op.result.template | search | New |
view_op_result_template_tree |
op.result.template.tree | op.result.template | tree | New |
view_op_room_distribution_form |
op.room.distribution.form | op.room.distribution | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (16)
New fields (12)
-
attendees_lineOne2many → op.exam.attendeesreadonly=True args: 'op.exam.attendees', 'exam_id', 'Attendees' -
end_timeDatetimerequired=True args: 'End Time' -
exam_codeCharrequired=Truesize=8 args: 'Exam Code' -
min_marksIntegerrequired=True args: 'Passing Marks' -
nameCharrequired=Truesize=256 args: 'Exam' -
noteTextargs: 'Note' -
responsible_idMany2many → op.facultystring='Responsible' args: 'op.faculty' -
session_idMany2one → op.exam.sessionargs: 'op.exam.session', 'Exam Session' -
start_timeDatetimerequired=True args: 'Start Time' -
stateSelectiondefault='draft'readonly=Truetrack_visibility='onchange' args: [('draft', 'Draft'), ('schedule', 'Scheduled'), ('held', 'Held'), ('result_updated', 'Result Updated'), ('cancel', 'Cancelled'), ('done', 'Done')], 'State' -
subject_idMany2one → op.subjectrequired=True args: 'op.subject', 'Subject' -
total_marksIntegerrequired=True args: 'Total Marks'
-
act_cancel(self)@api.multi -
act_done(self)@api.multi -
act_draft(self)@api.multi -
act_result_updated(self)@api.multi
New fields (8)
-
batch_idMany2one → op.batchreadonly=True args: 'op.batch', 'Batch' -
course_idMany2one → op.coursereadonly=True args: 'op.course', 'Course' -
exam_idMany2one → op.examrequired=True args: 'op.exam', 'Exam' -
marksIntegerargs: 'Marks' -
noteTextargs: 'Note' -
room_idMany2one → op.exam.roomargs: 'op.exam.room', 'Room' -
statusSelectiondefault='present'required=True args: [('present', 'Present'), ('absent', 'Absent')], 'Status' -
student_idMany2one → op.studentrequired=True args: 'op.student', 'Student'
-
onchange_exam(self)@api.onchange('exam_id')
New fields (3)
-
capacityIntegerrequired=True args: 'Capacity' -
classroom_idMany2one → op.classroomrequired=True args: 'op.classroom', 'Classroom' -
nameCharrequired=Truesize=256 args: 'Name'
-
check_capacity(self)@api.constrains('capacity') -
onchange_classroom(self)@api.onchange('classroom_id')
New fields (10)
-
batch_idMany2one → op.batchrequired=True args: 'op.batch', 'Batch' -
course_idMany2one → op.courserequired=True args: 'op.course', 'Course' -
end_dateDaterequired=True args: 'End Date' -
evolution_typeSelectiondefault='normal'required=True args: [('normal', 'Normal'), ('grade', 'Grade')], 'Evolution type' -
exam_codeCharrequired=Truesize=8 args: 'Exam Session Code' -
exam_idsOne2many → op.examargs: 'op.exam', 'session_id', 'Exam(s)' -
exam_typeMany2one → op.exam.typerequired=True args: 'op.exam.type', 'Exam Type' -
nameCharrequired=Truesize=256 args: 'Exam Session' -
start_dateDaterequired=True args: 'Start Date' -
venueMany2one → res.partnerargs: 'res.partner', 'Venue'
-
onchange_course(self)@api.onchange('course_id')
New fields (2)
-
codeCharrequired=Truesize=4 args: 'Code' -
nameCharrequired=Truesize=256 args: 'Name'
No public methods.
New fields (3)
-
max_perIntegerrequired=True args: 'Maximum Percentage' -
min_perIntegerrequired=True args: 'Minimum Percentage' -
resultCharrequired=True args: 'Result to Display'
No public methods.
New fields (5)
-
attendees_lineMany2many → op.exam.attendeesstring='Attendees' args: 'op.exam.attendees' -
batch_idMany2one → op.batchargs: 'op.batch', 'Batch' -
course_idMany2one → op.courseargs: 'op.course', 'Course' -
exam_idMany2one → op.examargs: 'op.exam', 'Exam' -
subject_idMany2one → op.subjectargs: 'op.subject', 'Subject'
-
default_get(self, fields)@api.model -
held_exam(self)@api.multi
New fields (8)
-
evolution_typeSelectionrelated='marksheet_reg_id.exam_session_id.evolution_type'store=True -
gradeCharcompute='_compute_grade'readonly=True args: 'Grade' -
marksheet_reg_idMany2one → op.marksheet.registerargs: 'op.marksheet.register', 'Marksheet Register' -
percentageFloatcompute='_compute_percentage' args: 'Percentage' -
result_lineOne2many → op.result.lineargs: 'op.result.line', 'marksheet_line_id', 'Results' -
statusSelectioncompute='_compute_status' args: [('pass', 'Pass'), ('fail', 'Fail')], 'Status' -
student_idMany2one → op.studentrequired=True args: 'op.student', 'Student' -
total_marksIntegercompute='_compute_total_marks' args: 'Total Marks'
No public methods.
New fields (9)
-
exam_session_idMany2one → op.exam.sessionrequired=True args: 'op.exam.session', 'Exam Session' -
generated_byMany2one → res.usersdefault=<expr>required=True args: 'res.users', 'Generated By' -
generated_dateDatedefault=fields.Date.today()required=True args: 'Generated Date' -
marksheet_lineOne2many → op.marksheet.lineargs: 'op.marksheet.line', 'marksheet_reg_id', 'Marksheets' -
nameCharrequired=Truesize=256 args: 'Marksheet Register' -
result_template_idMany2one → op.result.templaterequired=True args: 'op.result.template', 'Result Template' -
statusSelectiondefault='draft'required=True args: [('draft', 'Draft'), ('validated', 'Validated'), ('cancelled', 'Cancelled')], 'Status' -
total_failedIntegercompute='_compute_total_failed' args: 'Total Fail' -
total_passIntegercompute='_compute_total_pass' args: 'Total Pass'
No public methods.
New fields (7)
-
evolution_typeSelectionrelated='exam_id.session_id.evolution_type'store=True -
exam_idMany2one → op.examrequired=True args: 'op.exam', 'Exam' -
gradeCharcompute='_compute_grade'readonly=True args: 'Grade' -
marksIntegerrequired=True args: 'Marks' -
marksheet_line_idMany2one → op.marksheet.lineondelete='cascade' args: 'op.marksheet.line', 'Marksheet Line' -
statusSelectioncompute='_compute_status' args: [('pass', 'Pass'), ('fail', 'Fail')], 'Status' -
student_idMany2one → op.studentrequired=True args: 'op.student', 'Student'
No public methods.
New fields (6)
-
evolution_typeSelectionrelated='exam_session_id.evolution_type'store=True -
exam_session_idMany2one → op.exam.sessionrequired=True args: 'op.exam.session', 'Exam Session' -
grade_idsMany2many → op.grade.configurationstring='Grade Configuration' args: 'op.grade.configuration' -
nameCharrequired=Truesize=254 args: 'Name' -
result_dateDatedefault=fields.Date.today()required=True args: 'Result Date' -
stateSelectiondefault='draft' args: [('draft', 'Draft'), ('result_generated', 'Result Generated')], 'State'
-
generate_result(self)@api.multi
New fields (12)
-
batch_idMany2one → op.batchargs: 'op.batch', 'Batch' -
course_idMany2one → op.courseargs: 'op.course', 'Course' -
end_timeDatetimeargs: 'End Time' -
exam_idMany2one → op.examargs: 'op.exam', 'Exam' -
exam_sessionMany2one → op.exam.sessionargs: 'op.exam.session', 'Exam Session' -
nameCharargs: 'Exam' -
room_capacityIntegercompute='_compute_get_room_capacity' args: 'Room Capacity' -
room_idsMany2many → op.exam.roomstring='Exam Rooms' args: 'op.exam.room' -
start_timeDatetimeargs: 'Start Time' -
student_idsMany2many → op.studentString='Student' args: 'op.student' -
subject_idMany2one → op.subjectargs: 'op.subject', 'Subject' -
total_studentIntegercompute='_compute_get_total_student' args: 'Total Student'
-
default_get(self, fields)@api.model -
schedule_exam(self)@api.multi
New fields (0)
No new fields.
Public methods (3)-
format_list(self, temp_list) -
get_student_data(self, docs) -
render_html(self, docids, data=None)@api.model
New fields (0)
No new fields.
Public methods (5)-
get_date(self, date) -
get_lines(self, obj) -
get_objects(self, objects) -
get_total(self, marksheet_line) -
render_html(self, docids, data=None)@api.model
New fields (0)
No new fields.
Public methods (4)-
get_data(self, data) -
get_date(self, exam_line) -
get_subject(self, exam_session) -
render_html(self, docids, data=None)@api.model
New fields (1)
-
exam_session_idMany2one → op.exam.sessionrequired=True args: 'op.exam.session', 'Exam Session'
-
print_report(self)@api.multi
Loading…