OpenEduCat Admission

openeducat_admission
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_admission
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_fees
    - openeducat_core
odoo/odoo:
    - board
    - base
    - web
    - document
    - hr
    - base_setup
    - web_kanban
    - mail
    - bus
    - web_tour
    - resource
    - website
    - web_editor
    - web_planner
    - account_accountant
    - account
    - product
    - decimal_precision
    - report
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
admission_analysis_form admission.analysis.form admission.analysis form New
report_admission_analysis report_admission_analysis ir.ui.view qweb New
view_op_admission_form op.admission.form op.admission form New
view_op_admission_graph op.admission.graph op.admission graph New
view_op_admission_register_form op.admission.register.form op.admission.register form New
view_op_admission_register_search op.admission.register.search op.admission.register search New
view_op_admission_register_tree op.admission.register.tree op.admission.register tree New
view_op_admission_search op.admission.search op.admission search New
view_op_admission_tree op.admission.tree op.admission tree New
view_op_student_inherit_admission_form op.student.form op.student xpath Inherits openeducat_core.view_op_student_form
Models touched (6)

New fields (3)
  • course_id Many2one → op.course
    required=True args: 'op.course', 'Course'
  • end_date Date
    required=True args: 'End Date'
  • start_date Date
    default=time.strftime('%Y-%m-01') required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
    @api.multi

New fields (35)
  • admission_date Date
    copy=False states={'done': [('readonly', True)]} args: 'Admission Date'
  • application_date Datetime
    copy=False default=<expr> required=True states={'done': [('readonly', True)]} args: 'Application Date'
  • application_number Char
    copy=False default=<expr> required=True size=16 states={'done': [('readonly', True)]} args: 'Application Number'
  • batch_id Many2one → op.batch
    required=False states={'done': [('readonly', True)], 'fees_paid': [('required', True)]} args: 'op.batch', 'Batch'
  • birth_date Date
    required=True states={'done': [('readonly', True)]} args: 'Birth Date'
  • city Char
    size=64 states={'done': [('readonly', True)]} args: 'City'
  • country_id Many2one → res.country
    states={'done': [('readonly', True)]} args: 'res.country', 'Country'
  • course_id Many2one → op.course
    required=True states={'done': [('readonly', True)]} args: 'op.course', 'Course'
  • due_date Date
    states={'done': [('readonly', True)]} args: 'Due Date'
  • email Char
    required=True size=256 states={'done': [('readonly', True)]} args: 'Email'
  • family_business Char
    size=256 states={'done': [('readonly', True)]} args: 'Family Business'
  • family_income Float
    states={'done': [('readonly', True)]} args: 'Family Income'
  • fees Float
    states={'done': [('readonly', True)]} args: 'Fees'
  • fees_term_id Many2one → op.fees.terms
    args: 'op.fees.terms', 'Fees Term'
  • gender Selection
    required=True states={'done': [('readonly', True)]} args: [('m', 'Male'), ('f', 'Female'), ('o', 'Other')], 'Gender'
  • is_student Boolean
    args: 'Is Already Student'
  • last_name Char
    required=True size=128 states={'done': [('readonly', True)]} args: 'Last Name'
  • middle_name Char
    size=128 states={'done': [('readonly', True)]} args: 'Middle Name'
  • mobile Char
    size=16 states={'done': [('readonly', True)]} args: 'Mobile'
  • name Char
    required=True size=128 states={'done': [('readonly', True)]} args: 'First Name'
  • nbr Integer
    readonly=True args: 'No of Admission'
  • partner_id Many2one → res.partner
    args: 'res.partner', 'Partner'
  • phone Char
    size=16 states={'done': [('readonly', True)]} args: 'Phone'
  • photo Binary
    states={'done': [('readonly', True)]} args: 'Photo'
  • prev_course_id Many2one → op.course
    states={'done': [('readonly', True)]} args: 'op.course', 'Previous Course'
  • prev_institute_id Many2one → res.partner
    states={'done': [('readonly', True)]} args: 'res.partner', 'Previous Institute'
  • prev_result Char
    size=256 states={'done': [('readonly', True)]} args: 'Previous Result'
  • register_id Many2one → op.admission.register
    required=True states={'done': [('readonly', True)]} args: 'op.admission.register', 'Admission Register'
  • state Selection
    default='draft' track_visibility='onchange' args: [('draft', 'Draft'), ('submit', 'Submitted'), ('confirm', 'Confirmed'), ('admission', 'Admission Confirm'), ('reject', 'Rejected'), ('pending', 'Pending'), ('cancel', 'Cancelled'), ('done', 'Done')], 'State'
  • state_id Many2one → res.country.state
    states={'done': [('readonly', True)]} args: 'res.country.state', 'States'
  • street Char
    size=256 states={'done': [('readonly', True)]} args: 'Street'
  • street2 Char
    size=256 states={'done': [('readonly', True)]} args: 'Street2'
  • student_id Many2one → op.student
    states={'done': [('readonly', True)]} args: 'op.student', 'Student'
  • title Many2one → res.partner.title
    states={'done': [('readonly', True)]} args: 'res.partner.title', 'Title'
  • zip Char
    size=8 states={'done': [('readonly', True)]} args: 'Zip'
Public methods (15)
  • admission_confirm(self)
    @api.multi
  • confirm_cancel(self)
    @api.multi
  • confirm_in_progress(self)
    @api.multi
  • confirm_pending(self)
    @api.multi
  • confirm_rejected(self)
    @api.multi
  • confirm_to_draft(self)
    @api.multi
  • create_invoice(self)
    @api.multi
    Create invoice for fee payment process of student
  • enroll_student(self)
    @api.multi
  • get_student_vals(self)
    @api.multi
  • onchange_course(self)
    @api.onchange('course_id')
  • onchange_register(self)
    @api.onchange('register_id')
  • onchange_student(self)
    @api.onchange('student_id', 'is_student')
  • open_student(self)
    @api.multi
  • payment_process(self)
    @api.multi
  • submit_form(self)
    @api.multi

New fields (9)
  • admission_ids One2many → op.admission
    args: 'op.admission', 'register_id', 'Admissions'
  • course_id Many2one → op.course
    readonly=True required=True states={'draft': [('readonly', False)]} track_visibility='onchange' args: 'op.course', 'Course'
  • end_date Date
    default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} args: 'End Date'
  • max_count Integer
    default=30 readonly=True states={'draft': [('readonly', False)]} args: 'Maximum No. of Admission'
  • min_count Integer
    readonly=True states={'draft': [('readonly', False)]} args: 'Minimum No. of Admission'
  • name Char
    readonly=True required=True states={'draft': [('readonly', False)]} args: 'Name'
  • product_id Many2one → product.product
    domain=[('type', '=', 'service')] readonly=True required=True states={'draft': [('readonly', False)]} track_visibility='onchange' args: 'product.product', 'Product'
  • start_date Date
    default=fields.Date.today() readonly=True required=True states={'draft': [('readonly', False)]} args: 'Start Date'
  • state Selection
    default='draft' track_visibility='onchange' args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('cancel', 'Cancelled'), ('application', 'Application Gathering'), ('admission', 'Admission Process'), ('done', 'Done')], 'Status'
Public methods (8)
  • cancel_register(self)
    @api.multi
  • check_dates(self)
    @api.multi@api.constrains('start_date', 'end_date')
  • check_no_of_admission(self)
    @api.multi@api.constrains('min_count', 'max_count')
  • close_register(self)
    @api.multi
  • confirm_register(self)
    @api.multi
  • set_to_draft(self)
    @api.multi
  • start_admission(self)
    @api.multi
  • start_application(self)
    @api.multi

New fields (1)
  • fees_detail_ids One2many → op.student.fees.details
    args: 'op.student.fees.details', 'student_id', 'Fees Collection Details'
Public methods (0)

No public methods.

New fields (8)
  • amount Float
    args: 'Fees Amount'
  • date Date
    args: 'Submit Date'
  • fees_line_id Many2one → op.fees.terms.line
    args: 'op.fees.terms.line', 'Fees Line'
  • invoice_id Many2one → account.invoice
    args: 'account.invoice', 'Invoice'
  • invoice_state Selection
    readonly=True related='invoice_id.state' args: [('draft', 'Draft'), ('proforma', 'Pro-forma'), ('proforma2', 'Pro-forma'), ('open', 'Open'), ('paid', 'Paid'), ('cancel', 'Cancelled')], 'State'
  • product_id Many2one → product.product
    args: 'product.product', 'Product'
  • state Selection
    args: [('draft', 'Draft'), ('invoice', 'Invoice Created')], 'Status'
  • student_id Many2one → op.student
    args: 'op.student', 'Student'
Public methods (2)
  • action_get_invoice(self)
  • get_invoice(self)
    @api.multi
    Create invoice for fee payment process of student

New fields (0)

No new fields.

Public methods (3)
  • get_data(self, data)
  • get_total_student(self, data)
  • render_html(self, docids, data=None)
    @api.model
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_admission
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, 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_fees
    - openeducat_core
odoo/odoo:
    - board
    - base
    - web
    - document
    - hr
    - base_setup
    - web_kanban
    - mail
    - bus
    - resource
    - web_tip
    - website
    - web_editor
    - web_planner
    - account_accountant
    - account
    - product
    - decimal_precision
    - report
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
        This is gives the feature of admission process.
    

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
admission_analysis_form admission.analysis.form admission.analysis form New
report_admission_analysis report_admission_analysis ir.ui.view qweb New
view_op_admission_form op.admission.form op.admission form New
view_op_admission_graph op.admission.graph op.admission graph New
view_op_admission_register_form op.admission.register.form op.admission.register form New
view_op_admission_register_search op.admission.register.search op.admission.register search New
view_op_admission_register_tree op.admission.register.tree op.admission.register tree New
view_op_admission_search op.admission.search op.admission search New
view_op_admission_tree op.admission.tree op.admission tree New
Models touched (4)

New fields (3)
  • course_id Many2one → op.course
    required=True args: 'op.course', 'Course'
  • end_date Date
    required=True args: 'End Date'
  • start_date Date
    default=time.strftime('%Y-%m-01') required=True args: 'Start Date'
Public methods (1)
  • print_report(self)
    @api.multi

New fields (33)
  • admission_date Date
    copy=False states={'done': [('readonly', True)]} args: 'Admission Date'
  • application_date Datetime
    copy=False default=<expr> required=True states={'done': [('readonly', True)]} args: 'Application Date'
  • application_number Char
    copy=False default=<expr> required=True size=16 states={'done': [('readonly', True)]} args: 'Application Number'
  • batch_id Many2one → op.batch
    required=False states={'done': [('readonly', True)], 'fees_paid': [('required', True)]} args: 'op.batch', 'Batch'
  • birth_date Date
    required=True states={'done': [('readonly', True)]} args: 'Birth Date'
  • city Char
    size=64 states={'done': [('readonly', True)]} args: 'City'
  • country_id Many2one → res.country
    states={'done': [('readonly', True)]} args: 'res.country', 'Country'
  • course_id Many2one → op.course
    required=True states={'done': [('readonly', True)]} args: 'op.course', 'Course'
  • due_date Date
    states={'done': [('readonly', True)]} args: 'Due Date'
  • email Char
    size=256 states={'done': [('readonly', True)]} args: 'Email'
  • family_business Char
    size=256 states={'done': [('readonly', True)]} args: 'Family Business'
  • family_income Float
    states={'done': [('readonly', True)]} args: 'Family Income'
  • fees Float
    states={'done': [('readonly', True)]} args: 'Fees'
  • gender Selection
    required=True states={'done': [('readonly', True)]} args: [('m', 'Male'), ('f', 'Female'), ('o', 'Other')], 'Gender'
  • last_name Char
    required=True size=128 states={'done': [('readonly', True)]} args: 'Last Name'
  • middle_name Char
    size=128 states={'done': [('readonly', True)]} args: 'Middle Name'
  • mobile Char
    size=16 states={'done': [('readonly', True)]} args: 'Mobile'
  • name Char
    required=True size=128 states={'done': [('readonly', True)]} args: 'First Name'
  • nbr Integer
    readonly=True args: 'No of Admission'
  • partner_id Many2one → res.partner
    args: 'res.partner', 'Partner'
  • phone Char
    size=16 states={'done': [('readonly', True)]} args: 'Phone'
  • photo Binary
    states={'done': [('readonly', True)]} args: 'Photo'
  • prev_course_id Many2one → op.course
    states={'done': [('readonly', True)]} args: 'op.course', 'Previous Course'
  • prev_institute_id Many2one → res.partner
    states={'done': [('readonly', True)]} args: 'res.partner', 'Previous Institute'
  • prev_result Char
    size=256 states={'done': [('readonly', True)]} args: 'Previous Result'
  • register_id Many2one → op.admission.register
    required=True states={'done': [('readonly', True)]} args: 'op.admission.register', 'Admission Register'
  • state Selection
    default='draft' readonly=True select=True track_visibility='onchange' args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('payment_process', 'Payment Process'), ('fees_paid', 'Fees Paid'), ('reject', 'Rejected'), ('pending', 'Pending'), ('cancel', 'Cancelled'), ('done', 'Done')], 'State'
  • state_id Many2one → res.country.state
    states={'done': [('readonly', True)]} args: 'res.country.state', 'States'
  • street Char
    size=256 states={'done': [('readonly', True)]} args: 'Street'
  • street2 Char
    size=256 states={'done': [('readonly', True)]} args: 'Street2'
  • student_id Many2one → op.student
    states={'done': [('readonly', True)]} args: 'op.student', 'Student'
  • title Many2one → res.partner.title
    states={'done': [('readonly', True)]} args: 'res.partner.title', 'Title'
  • zip Char
    size=8 states={'done': [('readonly', True)]} args: 'Zip'
Public methods (12)
  • confirm_cancel(self)
    @api.one
  • confirm_in_progress(self)
    @api.one
  • confirm_pending(self)
    @api.one
  • confirm_rejected(self)
    @api.one
  • confirm_to_draft(self)
    @api.one
  • create_invoice(self)
    @api.multi
    Create invoice for fee payment process of student
  • enroll_student(self)
    @api.one
  • get_student_vals(self)
    @api.multi
  • onchange_course(self)
    @api.onchange('course_id')
  • onchange_register(self)
    @api.onchange('register_id')
  • open_student(self)
    @api.multi
  • payment_process(self)
    @api.one

New fields (9)
  • admission_ids One2many → op.admission
    args: 'op.admission', 'register_id', 'Admissions'
  • course_id Many2one → op.course
    readonly=True required=True states={'draft': [('readonly', False)]} track_visibility='onchange' args: 'op.course', 'Course'
  • end_date Date
    default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} args: 'End Date'
  • max_count Integer
    default=30 readonly=True states={'draft': [('readonly', False)]} args: 'Maximum No. of Admission'
  • min_count Integer
    readonly=True states={'draft': [('readonly', False)]} args: 'Minimum No. of Admission'
  • name Char
    readonly=True required=True states={'draft': [('readonly', False)]} args: 'Name'
  • product_id Many2one → product.product
    domain=[('type', '=', 'service')] readonly=True required=True states={'draft': [('readonly', False)]} track_visibility='onchange' args: 'product.product', 'Product'
  • start_date Date
    default=fields.Date.today() readonly=True required=True states={'draft': [('readonly', False)]} args: 'Start Date'
  • state Selection
    default='draft' track_visibility='onchange' args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('cancel', 'Cancelled'), ('application', 'Application Gathering'), ('admission', 'Admission Process'), ('done', 'Done')], 'Status'
Public methods (8)
  • cancel_register(self)
    @api.one
  • check_dates(self)
    @api.one@api.constrains('start_date', 'end_date')
  • check_no_of_admission(self)
    @api.one@api.constrains('min_count', 'max_count')
  • close_register(self)
    @api.one
  • confirm_register(self)
    @api.one
  • set_to_draft(self)
    @api.one
  • start_admission(self)
    @api.one
  • start_application(self)
    @api.one

New fields (0)

No new fields.

Public methods (0)

No public methods.