OpenEduCat Attendance

openeducat_attendance
REPOSITORY
REPOSITORYOCA/vertical-education
GIT
GIThttps://github.com/OCA/vertical-education.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-education/tree/10.0/openeducat_attendance
VERSION
VERSION 3.0.0
CATEGORY
CATEGORYEducation
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTech Receptives
MAINTAINERS
MAINTAINERSTech Receptives
COMMITTERS
COMMITTERSMaxime Chambreuil, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Parthiv Patel, ajaychauhan727, Ajay Chauhan
WEBSITE
WEBSITEhttp://www.openeducat.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-education:
    - openeducat_core
    - openeducat_timetable
    - openeducat_classroom
    - openeducat_facility
odoo/odoo:
    - board
    - base
    - web
    - document
    - hr
    - base_setup
    - web_kanban
    - mail
    - bus
    - web_tour
    - resource
    - website
    - web_editor
    - web_planner
    - product
    - decimal_precision
    - report
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
op_all_student_form op.all.student.form op.all.student form New
student_attendance_form student.attendance.form student.attendance form New
student_attendance_report student_attendance_report ir.ui.view qweb New
view_op_attendance_line_form op.attendance.line.form op.attendance.line form New
view_op_attendance_line_search op.attendance.line.search op.attendance.line search New
view_op_attendance_line_tree op.attendance.line.tree op.attendance.line tree New
view_op_attendance_register_form op.attendance.register.form op.attendance.register form New
view_op_attendance_register_search op.attendance.register.search op.attendance.register search New
view_op_attendance_register_tree op.attendance.register.tree op.attendance.register tree New
view_op_attendance_sheet_form op.attendance.sheet.form op.attendance.sheet form New
view_op_attendance_sheet_search op.attendance.sheet.search op.attendance.sheet search New
view_op_attendance_sheet_tree op.attendance.sheet.tree op.attendance.sheet tree New
Models touched (6)

New fields (3)
  • batch_id Many2one → op.batch
    default=<expr> readonly=True args: 'op.batch', 'Batch'
  • course_id Many2one → op.course
    default=<expr> readonly=True args: 'op.course', 'Course'
  • student_ids Many2many → op.student
    string='Add Student(s)' args: 'op.student'
Public methods (1)
  • confirm_student(self)
    @api.multi

New fields (7)
  • attendance_date Date
    readonly=True related='attendance_id.attendance_date' store=True track_visibility='onchange' args: 'Date'
  • attendance_id Many2one → op.attendance.sheet
    ondelete='cascade' required=True track_visibility='onchange' args: 'op.attendance.sheet', 'Attendance Sheet'
  • batch_id Many2one → op.batch
    readonly=True related='attendance_id.register_id.batch_id' store=True args: 'op.batch', 'Batch'
  • course_id Many2one → op.course
    readonly=True related='attendance_id.register_id.course_id' store=True args: 'op.course', 'Course'
  • present Boolean
    default=True track_visibility='onchange' args: 'Present ?'
  • remark Char
    size=256 track_visibility='onchange' args: 'Remark'
  • student_id Many2one → op.student
    required=True track_visibility='onchange' args: 'op.student', 'Student'
Public methods (0)

No public methods.

New fields (5)
  • batch_id Many2one → op.batch
    required=True args: 'op.batch', 'Batch'
  • code Char
    required=True size=8 args: 'Code'
  • course_id Many2one → op.course
    required=True args: 'op.course', 'Course'
  • name Char
    required=True size=16 args: 'Name'
  • subject_id Many2one → op.subject
    args: 'op.subject', 'Subject'
Public methods (1)
  • onchange_course(self)
    @api.onchange('course_id')

New fields (10)
  • attendance_date Date
    default=<expr> required=True track_visibility='onchange' args: 'Date'
  • attendance_line One2many → op.attendance.line
    args: 'op.attendance.line', 'attendance_id', 'Attendance Line'
  • batch_id Many2one → op.batch
    readonly=True related='register_id.batch_id' store=True args: 'op.batch', 'Batch'
  • course_id Many2one → op.course
    readonly=True related='register_id.course_id' store=True args: 'op.course'
  • faculty_id Many2one → op.faculty
    args: 'op.faculty', 'Faculty'
  • name Char
    required=True size=32 args: 'Name'
  • register_id Many2one → op.attendance.register
    required=True track_visibility='onchange' args: 'op.attendance.register', 'Register'
  • session_id Many2one → op.session
    args: 'op.session', 'Session'
  • total_absent Integer
    compute='_compute_total_absent' track_visibility='onchange' args: 'Total Absent'
  • total_present Integer
    compute='_compute_total_present' track_visibility='onchange' args: 'Total Present'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • get_data(self, data)
  • get_student_name(self, data)
  • render_html(self, docids, data=None)
    @api.model

New fields (2)
  • from_date Date
    default=<expr> required=True args: 'From Date'
  • to_date Date
    default=<expr> required=True args: 'To Date'
Public methods (2)
  • check_dates(self)
    @api.multi@api.constrains('from_date', 'to_date')
  • print_report(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/vertical-education
GIT
GIThttps://github.com/OCA/vertical-education.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-education/tree/9.0/openeducat_attendance
VERSION
VERSION 2.4.0
CATEGORY
CATEGORYOpenerp Education
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTech Receptives
MAINTAINERS
MAINTAINERSTech Receptives
COMMITTERS
COMMITTERSStéphane Bidoul (ACSONE), ajaychauhan727, siddharth-techreceptives
WEBSITE
WEBSITEhttp://www.openeducat.org
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/vertical-education:
    - openeducat_core
odoo/odoo:
    - board
    - base
    - web
    - document
    - hr
    - base_setup
    - web_kanban
    - mail
    - bus
    - resource
    - web_tip
    - website
    - web_editor
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
        This module provide feature of Attendance Management.

    

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
op_all_student_form op.all.student.form op.all.student form New
student_attendance_form student.attendance.form student.attendance form New
student_attendance_report student_attendance_report ir.ui.view qweb New
view_op_attendance_line_form op.attendance.line.form op.attendance.line form New
view_op_attendance_line_search op.attendance.line.search op.attendance.line search New
view_op_attendance_line_tree op.attendance.line.tree op.attendance.line tree New
view_op_attendance_register_form op.attendance.register.form op.attendance.register form New
view_op_attendance_register_search op.attendance.register.search op.attendance.register search New
view_op_attendance_register_tree op.attendance.register.tree op.attendance.register tree New
view_op_attendance_sheet_form op.attendance.sheet.form op.attendance.sheet form New
view_op_attendance_sheet_search op.attendance.sheet.search op.attendance.sheet search New
view_op_attendance_sheet_tree op.attendance.sheet.tree op.attendance.sheet tree New
Models touched (6)

New fields (3)
  • batch_id Many2one → op.batch
    default=<expr> readonly=True args: 'op.batch', 'Batch'
  • course_id Many2one → op.course
    default=<expr> readonly=True args: 'op.course', 'Course'
  • student_ids Many2many → op.student
    string='Add Student(s)' args: 'op.student'
Public methods (1)
  • confirm_student(self)
    @api.one

New fields (7)
  • attendance_date Date
    readonly=True related='attendance_id.attendance_date' store=True args: 'Date'
  • attendance_id Many2one → op.attendance.sheet
    required=True args: 'op.attendance.sheet', 'Attendance Sheet'
  • batch_id Many2one → op.batch
    readonly=True related='attendance_id.register_id.batch_id' store=True args: 'op.batch', 'Batch'
  • course_id Many2one → op.course
    readonly=True related='attendance_id.register_id.course_id' store=True args: 'op.course', 'Course'
  • present Boolean
    default=True args: 'Present ?'
  • remark Char
    size=256 args: 'Remark'
  • student_id Many2one → op.student
    required=True args: 'op.student', 'Student'
Public methods (0)

No public methods.

New fields (5)
  • batch_id Many2one → op.batch
    required=True args: 'op.batch', 'Batch'
  • code Char
    required=True size=8 args: 'Code'
  • course_id Many2one → op.course
    required=True args: 'op.course', 'Course'
  • name Char
    required=True size=16 args: 'Name'
  • subject_id Many2one → op.subject
    args: 'op.subject', 'Subject'
Public methods (1)
  • onchange_course(self)
    @api.onchange('course_id')

New fields (9)
  • attendance_date Date
    default=<expr> required=True args: 'Date'
  • attendance_line One2many → op.attendance.line
    args: 'op.attendance.line', 'attendance_id', 'Attendance Line'
  • batch_id Many2one → op.batch
    readonly=True related='register_id.batch_id' store=True args: 'op.batch', 'Batch'
  • course_id Many2one → op.course
    readonly=True related='register_id.course_id' store=True args: 'op.course'
  • faculty_id Many2one → op.faculty
    args: 'op.faculty', 'Faculty'
  • name Char
    required=True size=32 args: 'Name'
  • register_id Many2one → op.attendance.register
    required=True args: 'op.attendance.register', 'Register'
  • total_absent Integer
    compute='_total_absent' args: 'Total Absent'
  • total_present Integer
    compute='_total_present' args: 'Total Present'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • from_date Date
    default=<expr> required=True args: 'From Date'
  • to_date Date
    default=<expr> required=True args: 'To Date'
Public methods (2)
  • check_dates(self)
    @api.one@api.constrains('from_date', 'to_date')
  • print_report(self)
    @api.multi