Explorar el Código

commit inicial

Rodney Elpidio Enciso Arias hace 6 años
commit
31b2b93fcf
Se han modificado 80 ficheros con 9458 adiciones y 0 borrados
  1. 47 0
      .svn/all-wcprops
  2. 287 0
      .svn/entries
  3. 35 0
      .svn/text-base/__init__.py.svn-base
  4. 67 0
      .svn/text-base/__openerp__.py.svn-base
  5. 63 0
      .svn/text-base/admission_workflow.xml.svn-base
  6. 9 0
      .svn/text-base/indentity_card_report.xml.svn-base
  7. 464 0
      .svn/text-base/school.py.svn-base
  8. 1402 0
      .svn/text-base/school_view.xml.svn-base
  9. 19 0
      .svn/text-base/student_sequence.xml.svn-base
  10. 44 0
      README.rst
  11. 27 0
      __init__.py
  12. BIN
      __init__.pyc
  13. 65 0
      __openerp__.py
  14. 63 0
      admission_workflow.xml
  15. 11 0
      demo/.svn/all-wcprops
  16. 62 0
      demo/.svn/entries
  17. 670 0
      demo/.svn/text-base/school_demo.xml.svn-base
  18. 651 0
      demo/school_demo.xml
  19. 28 0
      doc/Change Log.txt
  20. 17 0
      images/.svn/all-wcprops
  21. 96 0
      images/.svn/entries
  22. 5 0
      images/.svn/prop-base/hover.png.svn-base
  23. 5 0
      images/.svn/prop-base/icon.png.svn-base
  24. BIN
      images/.svn/text-base/hover.png.svn-base
  25. BIN
      images/.svn/text-base/icon.png.svn-base
  26. BIN
      images/hover.png
  27. BIN
      images/icon.png
  28. 13 0
      report_view.xml
  29. 977 0
      school.py
  30. BIN
      school.pyc
  31. 2135 0
      school_view.xml
  32. 17 0
      security/.svn/all-wcprops
  33. 96 0
      security/.svn/entries
  34. 62 0
      security/.svn/text-base/ir.model.access.csv.svn-base
  35. 23 0
      security/.svn/text-base/school_security.xml.svn-base
  36. 135 0
      security/ir.model.access.csv
  37. 91 0
      security/school_security.xml
  38. 5 0
      static/.svn/all-wcprops
  39. 31 0
      static/.svn/entries
  40. BIN
      static/description/ems_stud_reg.png
  41. BIN
      static/description/icon.png
  42. 102 0
      static/description/index.html
  43. BIN
      static/description/main.png
  44. BIN
      static/description/school.png
  45. BIN
      static/description/school1.png
  46. BIN
      static/description/school_grade.png
  47. BIN
      static/description/school_news.png
  48. BIN
      static/description/school_stud_info.png
  49. BIN
      static/description/serpent_logo.png
  50. 82 0
      student_sequence.xml
  51. 17 0
      test/.svn/all-wcprops
  52. 96 0
      test/.svn/entries
  53. 20 0
      test/.svn/text-base/assign_roll_no_test.yml.svn-base
  54. 103 0
      test/.svn/text-base/school_test.yml.svn-base
  55. 20 0
      test/assign_roll_no_test.yml
  56. 103 0
      test/school_test.yml
  57. 113 0
      views/identity_card.xml
  58. 47 0
      wizard/.svn/all-wcprops
  59. 266 0
      wizard/.svn/entries
  60. 28 0
      wizard/.svn/text-base/__init__.py.svn-base
  61. 52 0
      wizard/.svn/text-base/assign_roll_no.py.svn-base
  62. 41 0
      wizard/.svn/text-base/assign_roll_no_wizard.xml.svn-base
  63. 74 0
      wizard/.svn/text-base/move_standards.py.svn-base
  64. 33 0
      wizard/.svn/text-base/move_standards_view.xml.svn-base
  65. 74 0
      wizard/.svn/text-base/wiz_send_email.py.svn-base
  66. 27 0
      wizard/.svn/text-base/wiz_send_email_view.xml.svn-base
  67. 26 0
      wizard/__init__.py
  68. BIN
      wizard/__init__.pyc
  69. 53 0
      wizard/assign_roll_no.py
  70. BIN
      wizard/assign_roll_no.pyc
  71. 39 0
      wizard/assign_roll_no_wizard.xml
  72. 102 0
      wizard/move_standards.py
  73. BIN
      wizard/move_standards.pyc
  74. 32 0
      wizard/move_standards_view.xml
  75. 61 0
      wizard/wiz_meeting.py
  76. BIN
      wizard/wiz_meeting.pyc
  77. 40 0
      wizard/wiz_meeting_view.xml
  78. 59 0
      wizard/wiz_send_email.py
  79. BIN
      wizard/wiz_send_email.pyc
  80. 26 0
      wizard/wiz_send_email_view.xml

+ 47 - 0
.svn/all-wcprops

@@ -0,0 +1,47 @@
+K 25
+svn:wc:ra_dav:version-url
+V 30
+/svn/eduerp/!svn/ver/25/school
+END
+__init__.py
+K 25
+svn:wc:ra_dav:version-url
+V 41
+/svn/eduerp/!svn/ver/2/school/__init__.py
+END
+indentity_card_report.xml
+K 25
+svn:wc:ra_dav:version-url
+V 55
+/svn/eduerp/!svn/ver/2/school/indentity_card_report.xml
+END
+__openerp__.py
+K 25
+svn:wc:ra_dav:version-url
+V 45
+/svn/eduerp/!svn/ver/23/school/__openerp__.py
+END
+student_sequence.xml
+K 25
+svn:wc:ra_dav:version-url
+V 50
+/svn/eduerp/!svn/ver/2/school/student_sequence.xml
+END
+school.py
+K 25
+svn:wc:ra_dav:version-url
+V 40
+/svn/eduerp/!svn/ver/25/school/school.py
+END
+admission_workflow.xml
+K 25
+svn:wc:ra_dav:version-url
+V 52
+/svn/eduerp/!svn/ver/2/school/admission_workflow.xml
+END
+school_view.xml
+K 25
+svn:wc:ra_dav:version-url
+V 46
+/svn/eduerp/!svn/ver/24/school/school_view.xml
+END

+ 287 - 0
.svn/entries

@@ -0,0 +1,287 @@
+10
+
+dir
+25
+https://subversion.assembla.com/svn/eduerp/school
+https://subversion.assembla.com/svn/eduerp
+
+
+
+2012-07-16T09:23:49.879962Z
+25
+nishantjogi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6df9b670-c5ec-4fb9-963b-ff4819e6ba42
+
+wizard
+dir
+
+school_view.xml
+file
+
+
+
+
+2012-09-27T09:56:38.000000Z
+c27abc3e00243616f028450fd8118502
+2012-07-05T07:29:12.880024Z
+24
+bandish09
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+69272
+
+demo
+dir
+
+images
+dir
+
+__init__.py
+file
+
+
+
+
+2012-04-24T07:15:20.784586Z
+400879ccf329ea72879d06878162e1fa
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1338
+
+security
+dir
+
+static
+dir
+
+indentity_card_report.xml
+file
+
+
+
+
+2012-04-24T07:15:20.784586Z
+0ee367c49c6c1a94dac0694a967c3f28
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+276
+
+report
+dir
+
+__openerp__.py
+file
+
+
+
+
+2012-09-27T09:56:38.000000Z
+ced7cd14ca0fb2ad300de97e611ce447
+2012-06-27T06:31:03.229447Z
+23
+bandish09
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2398
+
+student_sequence.xml
+file
+
+
+
+
+2012-04-24T07:15:20.784586Z
+7688023fcbda6abdbc38270c750a7881
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+681
+
+school.py
+file
+
+
+
+
+2012-09-27T09:56:38.000000Z
+7c2e690bd246f8452079b31a49174326
+2012-07-16T09:23:49.879962Z
+25
+nishantjogi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+21826
+
+test
+dir
+
+admission_workflow.xml
+file
+
+
+
+
+2012-04-24T07:15:20.784586Z
+5df9f5f195111335cc266e7a6472db7e
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2262
+

+ 35 - 0
.svn/text-base/__init__.py.svn-base

@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-2012 Serpent Consulting Services (<http://www.serpentcs.com>)
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+#----------------------------------------------------------
+# A Module to School Management System
+#----------------------------------------------------------
+
+import school
+import wizard
+import report
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
+
+
+

+ 67 - 0
.svn/text-base/__openerp__.py.svn-base

@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-2012 Serpent Consulting Services (<http://www.serpentcs.com>)
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+{
+    "name" : "school",
+    "version" : "1.1",
+    "author" : "Serpent Consulting Services",
+    "website" : "http://www.serpentcs.com",
+    "category": "School Management",
+    "complexity": "easy",
+    "description": """A module to School Management.
+        A Module support the following functionalities:
+        1. Admission Procedure
+        2. Student Information
+        3. Parent Information
+        4. Teacher Information
+        5. School Information
+        6. Standard, Medium and Division Information
+        7. Subject Information
+                    """,
+    "depends" : ["base", "hr"],
+    "init_xml" : [],
+    "update_xml" : [
+            "wizard/wiz_send_email_view.xml",
+            "security/school_security.xml",
+            "security/ir.model.access.csv",
+            "school_view.xml",
+            "admission_workflow.xml",
+            "student_sequence.xml",
+            "wizard/assign_roll_no_wizard.xml",
+            "wizard/move_standards_view.xml",
+            "indentity_card_report.xml",
+    ],
+    'demo_xml': [
+            "demo/school_demo.xml",
+    ],
+
+    'test': [
+        'test/school_test.yml',
+        'test/assign_roll_no_test.yml',
+        ],
+
+    "installable": True,
+    "auto_install": False,
+    "application": True,
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

+ 63 - 0
.svn/text-base/admission_workflow.xml.svn-base

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+
+    <!-- General structure of a workflow XML file -->
+    <record model="workflow" id="wkf_event">
+        <field name="name">workflow.event</field>
+        <field name="osv">student.student</field>
+        <field name="on_create">True</field>
+    </record>
+
+    <!-- Admission Procedure Workflow Activities -->
+    <record model="workflow.activity" id="act_draft">
+        <field name="wkf_id" ref="wkf_event" />
+        <field name="name">activity.draft</field>
+        <field name="flow_start">True</field>
+    </record>
+
+    <record model="workflow.activity" id="act_confirm">
+        <field name="name">activity.confirm</field>
+        <field name="wkf_id" ref="wkf_event" />
+         <field name="kind">function</field>
+         <field name="action">admission_confirm()</field>
+    </record>
+
+    <record model="workflow.activity" id="act_cancel">
+        <field name="wkf_id" ref="wkf_event" />
+        <field name="name">activity.cancel</field>
+        <field name="flow_stop">True</field>
+         <field name="kind">function</field>
+         <field name="action">admission_cancel()</field>
+    </record>
+    
+    <record model="workflow.activity" id="act_done">
+        <field name="name">activity.done</field>
+        <field name="wkf_id" ref="wkf_event" />
+        <field name="flow_stop">True</field>
+        <field name="kind">function</field>
+        <field name="action">admission_done()</field>
+    </record>
+
+    <!-- Admission Procedure Workflow Transitions -->
+    <record model="workflow.transition" id="trans_draft_confirm">
+        <field name="act_from" ref="act_draft" />
+        <field name="act_to" ref="act_confirm" />
+        <field name="signal">admission_confirm</field>
+    </record>
+
+    <record model="workflow.transition" id="trans_confirm_cancel">
+        <field name="act_from" ref="act_confirm" />
+        <field name="act_to" ref="act_cancel" />
+        <field name="signal">admission_cancel</field>
+    </record>
+
+    <record model="workflow.transition" id="trans_confirm_done">
+        <field name="act_from" ref="act_confirm" />
+        <field name="act_to" ref="act_done" />
+        <field name="signal">admission_done</field>
+    </record>
+
+</data>
+</openerp>
+

+ 9 - 0
.svn/text-base/indentity_card_report.xml.svn-base

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <report auto="True" id="report_student_student" model="student.student" name="Student Indentity Card" rml="school/report/indentity_card.rml" string="Indentity Card" header="False"/>
+
+    </data>
+</openerp>
+

+ 464 - 0
.svn/text-base/school.py.svn-base

@@ -0,0 +1,464 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-2012 Serpent Consulting Services (<http://www.serpentcs.com>)
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields,osv
+import time
+from datetime import datetime
+from tools.translate import _
+
+class academic_year(osv.osv):
+    ''' Defining an academic year '''
+    _name = "academic.year"
+    _description = "Academic Year"
+    _order = "sequence"
+    _columns = {
+        'sequence': fields.integer('Sequence', required=True),
+        'name': fields.char('Name', size=64, required=True, select=1),
+        'code': fields.char('Code', size=6, required=True, select=1),
+        'date_start': fields.date('Start Date', required=True),
+        'date_stop': fields.date('End Date', required=True),
+        'month_ids': fields.one2many('academic.month', 'year_id', 'Months'),
+    }
+    _order = "date_start"
+
+
+    def next_year(self, cr, uid, sequence, context=None):
+        year_ids = self.search(cr, uid, [('sequence', '>', sequence)])
+        if year_ids:
+            return year_ids[0]
+        return False
+
+    def name_get(self, cr, uid, ids, context=None):
+        res = []
+        for acd_year_rec in self.read(cr, uid, ids, context=context):
+            nam = "[" + acd_year_rec['code'] + "]" + acd_year_rec['name']
+            res.append((acd_year_rec['id'],nam))
+        return res
+    
+    def _check_academic_year(self, cr, uid, ids, context=None):
+        obj_academic_ids = self.search(cr, uid, [], context)
+        for current_academic_yr in self.browse(cr, uid, ids, context=context):
+            obj_academic_ids.remove(current_academic_yr.id)
+            data_academic_yr = self.browse(cr, uid, obj_academic_ids, context=context)
+            for old_ac in data_academic_yr:
+                if old_ac.date_start <= current_academic_yr.date_start <= old_ac.date_stop or \
+                    old_ac.date_start <= current_academic_yr.date_stop <= old_ac.date_stop:
+                    return False
+        return True
+
+    def _check_duration(self, cr, uid, ids, context=None):
+        for obj_ac in self.browse(cr, uid, ids, context=context):
+            if obj_ac.date_stop < obj_ac.date_start:
+                return False
+        return True
+
+    _constraints = [
+        (_check_duration, 'Error! The duration of the academic year is invalid. ', ['date_stop']),
+        (_check_academic_year, 'Error! You cannot define overlapping academic years',['date_start', 'date_stop'])
+    ]
+
+academic_year()
+
+class academic_month(osv.osv):
+    ''' Defining a month of an academic year '''
+    _name = "academic.month"
+    _description = "Academic Month"
+    _columns = {
+        'name': fields.char('Name', size=64, required=True, select=1),
+        'code': fields.char('Code', size=12, required=True, select=1),
+        'date_start': fields.date('Start of Period', required=True),
+        'date_stop': fields.date('End of Period', required=True),
+        'year_id': fields.many2one('academic.year', 'Academic Year', required=True, select=1),
+
+    }
+    _order = "date_start"
+    
+    def _check_duration(self, cr, uid, ids, context=None):
+        for obj_month in self.browse(cr, uid, ids, context=context):
+            if obj_month.date_stop < obj_month.date_start:
+                return False
+        return True
+
+    def _check_year_limit(self,cr,uid,ids,context=None):
+        for obj_month in self.browse(cr, uid, ids, context=context):
+            if obj_month.year_id.date_stop < obj_month.date_stop or \
+               obj_month.year_id.date_stop < obj_month.date_start or \
+               obj_month.year_id.date_start > obj_month.date_start or \
+               obj_month.year_id.date_start > obj_month.date_stop:
+                return False
+        return True
+
+    _constraints = [
+        (_check_duration, 'Error ! The duration of the Month(s) is/are invalid. ', ['date_stop']),
+        (_check_year_limit, 'Invalid Months ! Some months overlap or the date period is not in the scope of the academic year. ', ['date_stop'])
+    ]
+
+academic_month()
+
+class standard_medium(osv.osv):
+    ''' Defining a medium(English, Hindi, Gujarati) related to standard'''
+    _name = "standard.medium"
+    _description = "Standard Medium"
+    _order = "sequence"
+    _columns = {
+        'sequence': fields.integer('Sequence', required=True),
+        'name': fields.char('Name', size=64, required=True, select=1),
+        'code': fields.char('Code', size=12, required=True, select=1),
+    }
+
+standard_medium()
+
+class standard_division(osv.osv):
+    ''' Defining a division(A, B, C) related to standard'''
+    _name = "standard.division"
+    _description = "Standard Division"
+    _order = "sequence"
+    _columns = {
+        'sequence': fields.integer('Sequence', required=True),
+        'name': fields.char('Name', size=64, required=True, select=1),
+        'code': fields.char('Code', size=12, required=True, select=1),
+    }
+
+standard_division()
+
+class school_school(osv.osv):
+    ''' Defining School Information '''
+    _description ='School Information'
+    _name = 'school.school'
+
+    _columns = {
+        'name': fields.char('Name', size=64, required=True, select=1),
+        'code': fields.char('Code', size=20, required=True, select=1),
+        'standards':fields.one2many('school.standard', 'school_id','Standards'),
+    }
+
+school_school()
+
+class standard_standard(osv.osv):
+    ''' Defining Standard Information '''
+    _description ='Standard Information'
+    _name = 'standard.standard'
+    _order = "sequence"
+    _columns = {
+        'sequence': fields.integer('Sequence', required=True),
+        'name': fields.char('Name', size=64, required=True, select=1),
+        'code': fields.char('Code', size=20, required=True, select=1),
+    }
+    def next_standard(self, cr, uid, sequence, context=None):
+        stand_ids = self.search(cr, uid, [('sequence', '>', sequence)])
+        if stand_ids:
+            return stand_ids[0]
+        return False
+        
+standard_standard()
+
+class school_standard(osv.osv):
+    ''' Defining a standard related to school '''
+    _description ='School Standards'
+    _name = 'school.standard'
+    _rec_name ="school_id"
+
+#    def _compute_subject(self, cr, uid, ids, name, args, context=None):
+#        ''' This function will automatically computes the subjects related to particular standard.'''
+#        result = {}
+#        subject_obj = self.pool.get('subject.subject')
+#        for id in ids:
+#            subject_ids = subject_obj.search(cr, uid, [('standard_ids.id','=',id)])
+#            result[id] = subject_ids
+#        return result
+
+    def _compute_student(self, cr, uid, ids, name, args, context=None):
+        ''' This function will automatically computes the students related to particular standard.'''
+        result = {}
+        student_obj = self.pool.get('student.student')
+        for standard_data in self.browse(cr, uid, ids, context=context):
+            student_ids = student_obj.search(cr, uid,[('class_id','=',standard_data.standard_id.id), 
+                                                      ('division_id','=',standard_data.division_id.id),
+                                                      ('medium_id','=',standard_data.medium_id.id)])
+            result[standard_data.id] = student_ids
+        return result
+
+    _columns = {
+        'school_id': fields.many2one('school.school', 'School', required=True),
+        'standard_id':fields.many2one('standard.standard', 'Class', required=True),
+        'division_id':fields.many2one('standard.division', 'Division', required=True),
+        'medium_id':fields.many2one('standard.medium', 'Medium', required=True),
+        'subject_ids': fields.many2many('subject.subject', 'subject_standards_rel','subject_id','standard_id','Subject'),
+        'user_id':fields.many2one('hr.employee', 'Class Teacher'),
+        'student_ids': fields.function(_compute_student, method=True, relation='student.student', type="one2many", string='Student In Class'),
+        'color': fields.integer('Color Index'),
+    }
+    
+    def name_get(self, cr, uid, ids, context=None):
+        res = []
+        for standard in self.browse(cr, uid, ids, context=context):
+            nam = standard.standard_id.name+"[" + standard.division_id.name + "]" 
+            res.append((standard.id,nam))
+        return res
+
+school_standard()
+
+class subject_subject(osv.osv):
+    '''Defining a subject '''
+    _name = "subject.subject"
+    _description = "Subjects"
+    _columns = {
+        'name': fields.char('Name', size=64, required=True, select=1),
+        'code': fields.char('Code', size=12, required=True, select=1),
+        'maximum_marks': fields.integer("Maximum marks", size = 5),
+        'minimum_marks': fields.integer("Minimum marks", size = 5),
+        'weightage': fields.integer("Weightage", size = 10),
+        'teacher_ids':fields.many2many('hr.employee','subject_teacher_rel','subject_id','teacher_id','Teachers'),
+        'standard_ids':fields.many2many('school.standard','subject_standards_rel','standard_id','subject_id','Standards'),
+    }
+
+subject_subject()
+
+class student_student(osv.osv):
+    ''' Defining a student information '''
+
+    def _calc_age(self, cr, uid, ids, name, arg, context=None):
+        ''' This function will automatically calculates the age of particular student.'''
+        res= {}
+        for student in self.browse(cr, uid, ids, context=context):
+            start = datetime.strptime(student.date_of_birth,"%Y-%m-%d")
+            end = datetime.strptime(time.strftime('%Y-%m-%d'),"%Y-%m-%d")
+            delta = end - start
+            years =  (delta.days / 365)
+            res[student.id] = years
+        return res
+    _name = 'student.student'
+    _table = "student_student"
+    _description = 'Student Information'
+    _inherits = {'res.partner': 'partner_id'}
+    _columns = {
+        'partner_id': fields.many2one('res.partner', 'Partner', required=True, ondelete="cascade"),
+        'pid':fields.char('Student ID', size=64, required=True, readonly=True, help='Personal IDentification Number'),
+        'roll_no':fields.integer('Roll No.', readonly=True),
+        'photo': fields.binary('Photo'),
+        'year':fields.many2one('academic.year', 'Academic Year', required=True, states={'done':[('readonly',True)]}),
+        'class_id': fields.many2one('standard.standard', 'Class', required=True, states={'done':[('readonly',True)]}),
+        'division_id': fields.many2one('standard.division', 'Division', required=True, states={'done':[('readonly',True)]}),
+        'medium_id': fields.many2one('standard.medium', 'Medium', required=True, states={'done':[('readonly',True)]}),
+        'admission_date':fields.date('Admission Date', readonly=True),
+        'middle': fields.char('Middle Name', size=64, required=True, states={'done':[('readonly',True)]}),
+        'last': fields.char('Last Name', size=64, required=True, states={'done':[('readonly',True)]}),
+        'gender':fields.selection([('male','Male'), ('female','Female')], 'Gender', states={'done':[('readonly',True)]}),
+        'date_of_birth':fields.date('Birthdate', required=True, states={'done':[('readonly',True)]}),
+        'home_language':fields.selection([('eng','English'), ('guj','Gujarati')], 'Mother Tongue', states={'done':[('readonly',True)]}),
+        'age':fields.function(_calc_age, method=True, string='AGE', readonly=True, type="integer"),
+        'maritual_status':fields.selection([('unmarried','Unmarried'), ('married','Married')], 'Maritual Status', states={'done':[('readonly',True)]}),
+        'reference_ids':fields.one2many('student.reference', 'reference_id', 'References', states={'done':[('readonly',True)]}),
+        'previous_school_ids':fields.one2many('student.previous.school', 'previous_school_id', 'Previous School Detail', states={'done':[('readonly',True)]}),
+        'emergency_contact_ids':fields.one2many('student.emergency.contact', 'emergency_contact_id', 'Emergency Contact Detail', states={'done':[('readonly',True)]}),
+        'doctor': fields.char('Doctor Name', size=64, states={'done':[('readonly',True)]} ),
+        'designation': fields.char('Designation', size=64, states={'done':[('readonly',True)]} ),
+        'doctor_phone': fields.char('Phone', size=12, states={'done':[('readonly',True)]} ),
+        'blood_group': fields.char('Blood Group', size=12, states={'done':[('readonly',True)]} ),
+        'height': fields.float('Height', states={'done':[('readonly',True)]}),
+        'weight': fields.float('Weight', states={'done':[('readonly',True)]} ),
+        'eye':fields.boolean('Eyes', states={'done':[('readonly',True)]}),
+        'ear':fields.boolean('Ears', states={'done':[('readonly',True)]}),
+        'nose_throat':fields.boolean('Nose & Throat', states={'done':[('readonly',True)]}),
+        'respiratory':fields.boolean('Respiratory', states={'done':[('readonly',True)]}),
+        'cardiovascular':fields.boolean('Cardiovascular', states={'done':[('readonly',True)]}),
+        'neurological':fields.boolean('Neurological', states={'done':[('readonly',True)]}),
+        'muskoskeletal':fields.boolean('Muskoskeletal', states={'done':[('readonly',True)]}),
+        'dermatological':fields.boolean('Dermatological', states={'done':[('readonly',True)]}),
+        'blood_pressure':fields.boolean('Blood Pressure', states={'done':[('readonly',True)]}),
+        'remark':fields.text('Remark', states={'done':[('readonly',True)]}),
+        'school_id': fields.many2one('school.school', 'School', required=True, states={'done':[('readonly',True)]}),
+        'state':fields.selection([('draft','Draft'), ('confirm','Confirm'),('cancel','Cancel'), ('done','Done')],'State',readonly=True),
+        'history_ids': fields.one2many('student.history', 'student_id', 'History'),
+        'certificate_ids' : fields.one2many('student.certificate','student_id','Certificate'),
+        'attendance_ids' : fields.one2many('attendance.sheet.line','name','Attendance History',readonly=True),
+        'exam_results_ids' : fields.one2many('exam.result','student_id','Exam History',readonly=True),
+        'student_attachment_line' : fields.one2many('student.attachment','student_id','Attachment'),
+        'student_discipline_line' : fields.one2many('student.descipline','student_id','Descipline')
+    }
+
+    _defaults = {
+        'pid': lambda obj, cr, uid, context:obj.pool.get('ir.sequence').get(cr, uid, 'student.student'),
+        'state':'draft',
+    }
+
+    def admission_draft(self, cr, uid, ids, context=None):
+        self.write(cr, uid, ids, {'state' : 'draft'}, context=context)
+        return True
+
+    def admission_confirm(self, cr, uid, ids, context=None):
+        self.write(cr, uid, ids, {'state' : 'confirm'}, context=context)
+        return True
+
+
+    def admission_cancel(self, cr, uid, ids, context=None):
+        self.write(cr, uid, ids, {'state' : 'cancel'}, context=context)
+        return True
+
+    def admission_done(self, cr, uid, ids, context=None):
+        school_standard_obj = self.pool.get('school.standard')
+        for student_data in self.browse(cr, uid, ids, context=context):
+            domain = [('standard_id', '=', student_data.class_id.id), ('medium_id' ,'=', student_data.medium_id.id), ('division_id', '=', student_data.division_id.id)]
+            school_standard_search_ids = school_standard_obj.search(cr, uid, domain, context=context)
+            if not school_standard_search_ids:
+                raise osv.except_osv(_('Warning'), _('The standard is not defined in a school'))
+
+            domain = [('class_id', '=', student_data.class_id.id), ('medium_id' ,'=', student_data.medium_id.id), ('division_id', '=', student_data.division_id.id)]
+            student_search_ids = self.search(cr, uid, domain, context=context)
+            number = 1
+            for student in self.browse(cr, uid, student_search_ids, context=context):
+                self.write(cr, uid, student.id, {'roll_no':number}, context=context)
+                number += 1
+        self.write(cr, uid, ids, {'state': 'done', 'admission_date': time.strftime('%Y-%m-%d')}, context=context)
+        return True
+    
+student_student()
+
+class student_attachment(osv.osv):
+    
+    _name = 'student.attachment'
+    _columns = {
+                'student_id' : fields.many2one('student.student', 'Student'),
+                'name':fields.char('Document Name',size=30),
+                'new_datas' : fields.binary('Attachments'),
+                'file_name':fields.char('File Name',size=30)
+                }
+    
+student_attachment()
+
+
+class student_descipline(osv.osv):
+    
+    _name = 'student.descipline'
+    _columns = {
+                'student_id' : fields.many2one('student.student', 'Student'),
+                'teacher_id':fields.many2one('hr.employee', 'Teacher'),
+                'date':fields.date('Date'),
+                'class_id': fields.many2one('standard.standard', 'Class'),
+                'note':fields.text('Note'),
+                'action_taken':fields.text('Action Taken'),
+                }
+student_descipline()
+
+class student_history(osv.osv):
+    _name = "student.history"
+    _columns = {
+        'student_id': fields.many2one('student.student', 'Student'),
+        'academice_year_id':fields.many2one('academic.year', 'Academic Year', required=True),
+        'class_id': fields.many2one('standard.standard', 'Class', required=True),
+        'division_id': fields.many2one('standard.division', 'Division', required=True),
+        'medium_id': fields.many2one('standard.medium', 'Medium', required=True),
+    }
+
+student_history()
+
+class student_certificate(osv.osv):
+    _name = "student.certificate"
+    
+    _columns = {
+        'student_id' : fields.many2one('student.student', 'Student'),
+        'description' : fields.char('Description',size=50),
+        'certi' : fields.binary('Certificate',required =True)
+                }
+student_certificate()
+
+
+class hr_employee(osv.osv):
+    ''' Defining a teacher information '''
+
+    def _compute_subject(self, cr, uid, ids, name, args, context=None):
+        ''' This function will automatically computes the subjects related to particular teacher.'''
+        result = {}
+        subject_obj = self.pool.get('subject.subject')
+        for id in ids:
+            subject_ids = subject_obj.search(cr, uid,[('teacher_ids.id','=',id)])
+            result[id] = subject_ids
+        return result
+
+    _name = 'hr.employee'
+    _inherit = 'hr.employee'
+    _description = 'Teacher Information'
+    _columns = {
+        'subject_ids': fields.function(_compute_subject, method=True, relation='subject.subject', type="many2many", string='Subjects'),
+    }
+
+hr_employee()
+
+class res_partner_address(osv.osv):
+    ''' Defining a address information '''
+
+    _name = 'res.partner.address'
+    _inherit = 'res.partner.address'
+    _description = 'Address Information'
+    _columns = {
+        'student_id': fields.many2one('student.student', 'Student' ),
+    }
+
+res_partner_address()
+
+class student_reference(osv.osv):
+    ''' Defining a student reference information '''
+    _name = "student.reference"
+    _description = "Student Reference"
+    _columns = {
+        'reference_id': fields.many2one('student.student', 'Student'),
+        'name': fields.char('First Name', size=64, required=True),
+        'middle': fields.char('Middle Name', size=64, required=True),
+        'last': fields.char('Last Name', size=64, required=True),
+        'designation': fields.char('Designation', size=12, required=True),
+        'phone': fields.char('Phone', size=12, required=True),
+        'gender':fields.selection([('male','Male'), ('female','Female')], 'Gender'),
+    }
+
+student_reference()
+
+class student_previous_school(osv.osv):
+    ''' Defining a student previous school information '''
+    _name = "student.previous.school"
+    _description = "Student Previous School"
+    _columns = {
+        'previous_school_id': fields.many2one('student.student', 'Student'),
+        'name': fields.char('Name', size=64, required=True),
+        'registration_no': fields.char('Registration No.', size=12, required=True),
+        'email': fields.char('Email', size=64, required=True),
+        'admission_date': fields.date('Admission Date'),
+        'exit_date': fields.date('Exit Date'),
+        'phone': fields.char('Phone', size=12, required=True),
+    }
+
+student_previous_school()
+
+class student_emergency_contact(osv.osv):
+    ''' Defining a student emergency contact information '''
+    _name = "student.emergency.contact"
+    _description = "Student Emergency Contact"
+    _columns = {
+        'emergency_contact_id': fields.many2one('student.student', 'Student'),
+        'name': fields.char('Name', size=64, required=True),
+        'relation': fields.char('Relation', size=64, required=True),
+        'phone': fields.char('Phone', size=12, required=True),
+        'email': fields.char('E-Mail', size=150, required=True),
+    }
+
+student_emergency_contact()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

+ 1402 - 0
.svn/text-base/school_view.xml.svn-base

@@ -0,0 +1,1402 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Student Information Form View -->
+        <record model="ir.ui.view" id="view_student_student_form_1">
+            <field name="name">student.student.form.1</field>
+            <field name="model">student.student</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Student Information">
+                    <group colspan="4" col="8">
+                        <group col="6" colspan="3">
+                            <field name="pid" colspan="3"/>
+                            <field name="roll_no" colspan="3"/>
+                            <field name="year" widget="selection" colspan="3"/>
+                            <field name="school_id" colspan="3"/>
+                        </group>
+                        <group col="2" colspan="1">
+                            <field name="photo"  widget='image' nolabel="1"/>
+                        </group>
+                    </group>
+                    <separator string="Standard Information" colspan="4"/>
+                    <group col="6" colspan="4">
+                        <field name="class_id" widget="selection"/>
+                        <field name="medium_id" widget="selection"/>
+                        <field name="division_id" widget="selection"/>
+                    </group>    
+                    <separator string="Personal Information" colspan="4"/>
+                    <group col="6" colspan="4">
+                        <field name="name"/>
+                        <field name="middle"/>
+                        <field name="last"/>
+                    </group>
+                    <notebook colspan="4">
+                        <page string="General">
+                            <group col="4" colspan="4">
+                                <field name="gender"/>
+                                <field name="home_language"/>
+                                <field name="date_of_birth"/>
+                                <field name="admission_date"/>
+                                <field name="age"/>
+                                <field name="maritual_status"/>
+                                <field name="email"/>
+                            </group>
+                        </page>
+                        <page string="Contacts">
+                            <field name="address" nolabel="1" colspan="4"/> 
+                        </page>
+                        <page string="References">
+                            <field name="reference_ids" nolabel="1" colspan="4"> 
+                                <tree string="Reference">
+                                    <field name="name"/>
+                                    <field name="middle"/>
+                                    <field name="last"/>
+                                    <field name="designation"/>
+                                    <field name="phone"/>
+                                    <field name="gender"/>
+                                </tree>
+                                <form string="Reference">
+                                    <group col="4" colspan="4">
+                                        <field name="name"/>
+                                        <field name="middle"/>
+                                        <field name="last"/>
+                                        <field name="designation"/>
+                                        <field name="phone"/>
+                                        <field name="gender"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Academic">
+                            <field name="previous_school_ids" nolabel="1" colspan="4"> 
+                                <tree string="Previous School Details">
+                                    <field name="name"/>
+                                    <field name="registration_no"/>
+                                    <field name="admission_date"/>
+                                    <field name="exit_date"/>
+                                    <field name="email"/>
+                                    <field name="phone"/>
+                                </tree>
+                                <form string="Previous School Details">
+                                    <group col="4" colspan="4">
+                                        <field name="name"/>
+                                        <field name="registration_no"/>
+                                        <field name="admission_date"/>
+                                        <field name="exit_date"/>
+                                        <field name="email"/>
+                                        <field name="phone"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Medical">
+                            <separator string="Doctor Information" colspan="4"/>
+                            <group col="6" colspan="4">
+                                <field name="doctor"/>
+                                <field name="designation"/>
+                                <field name="doctor_phone"/>
+                            </group>
+                            <separator string="Physical Information" colspan="4"/>
+                            <group col="6" colspan="4">
+                                <field name="blood_group"/>
+                                <field name="height"/>
+                                <field name="weight"/>
+                            </group>
+                            <separator string="Does the applicant have any Disabilities?" colspan="4"/>
+                                <group col="6" colspan="4">
+                                    <field name="eye"/>
+                                    <field name="ear"/>
+                                    <field name="nose_throat"/>
+                                    <field name="respiratory"/>
+                                    <field name="cardiovascular"/>
+                                    <field name="neurological"/>
+                                    <field name="muskoskeletal"/>
+                                    <field name="dermatological"/>
+                                    <field name="blood_pressure"/>
+                                </group>
+                            <separator string="Notes" colspan="4"/>
+                            <group col="6" colspan="4">
+                                <field name="comment" nolabel="1"/>
+                            </group>
+                        </page>
+                        <page string="Emergency">
+                            <field name="emergency_contact_ids" nolabel="1" colspan="4"> 
+                                <tree string="Emergency Contact Details">
+                                    <field name="name"/>
+                                    <field name="relation"/>
+                                    <field name="phone"/>
+                                </tree>
+                                <form string="Emergency Contact Details">
+                                    <group col="6" colspan="4">
+                                        <field name="name"/>
+                                        <field name="relation"/>
+                                        <field name="phone"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Remarks">
+                            <field name="remark" nolabel="1" colspan="4"/>
+                        </page>
+                        <page string="History">
+                            <field name="history_ids" nolabel="1" colspan="4">
+                                <tree string="History">
+                                    <field name="academice_year_id"/>
+                                    <field name="class_id"/>
+                                    <field name="division_id"/>
+                                    <field name="medium_id"/>
+                                </tree>
+                                <form string="History">
+                                    <group col="4" colspan="4">
+                                    <field name="academice_year_id"/>
+                                    <field name="class_id"/>
+                                    <field name="division_id"/>
+                                    <field name="medium_id"/>
+                                    </group>
+                                </form>
+                            </field>
+                            <field name="attendance_ids" nolabel="1" colspan="4">
+								<tree string="Monthly Attendance">
+									<field name="roll_no" />
+									<field name="standard_id" />
+									<field name="one" />
+									<field name="two" />
+									<field name="three" />
+									<field name="four" />
+									<field name="five" />
+									<field name="six" />
+									<field name="seven" />
+									<field name="eight" />
+									<field name="nine" />
+									<field name="ten" />
+									<field name="one_1" />
+									<field name="one_2" />
+									<field name="one_3" />
+									<field name="one_4" />
+									<field name="one_5" />
+									<field name="one_6" />
+									<field name="one_7" />
+									<field name="one_8" />
+									<field name="one_9" />
+									<field name="one_0" />
+									<field name="two_1" />
+									<field name="two_2" />
+									<field name="two_3" />
+									<field name="two_4" />
+									<field name="two_5" />
+									<field name="two_6" />
+									<field name="two_7" />
+									<field name="two_8" />
+									<field name="two_9" />
+									<field name="two_0" />
+									<field name="three_1" />
+									<field name="percentage"
+										widget="progressbar" />
+								</tree>
+							</field>
+							<field name="exam_results_ids" nolabel="1" colspan="4">
+								<tree string="Results">
+									<field name="standard_id" />
+									<field name="medium_id" />
+									<field name="division_id" />
+									<field name="s_exam_ids" />
+									<field name="percentage" />
+									<field name="total" />
+									<field name="result" />
+								</tree>
+							</field>
+                        </page>
+                        <page string="Certificates">
+                        	<field name="certificate_ids" nolabel="1" colspan="4">
+                        		<form string="Certificate">
+                        			<field name="description"/>
+                                    <field name="certi" colspan="4"/>                                    
+                                </form>
+                                <tree string="Certifaicate">
+                                    <field name="description"/>
+                                </tree>                             
+                        	</field>
+                        </page>
+                    </notebook>
+                    <field name="state" invisible="1"/>
+                </form>
+            </field>
+        </record>
+
+        <!-- Student Information Tree View -->
+        <record model="ir.ui.view" id="view_student_student_tree_1">
+            <field name="name">student.student.tree.1</field>
+            <field name="model">student.student</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Student Information">
+                    <field name="pid" />
+                    <field name="name" />
+                    <field name="year" widget="selection"/>
+                    <field name="class_id" widget="selection"/>
+                    <field name="medium_id" widget="selection"/>
+                    <field name="division_id" widget="selection"/>
+                    <field name="admission_date" />
+                    <field name="gender" />
+                </tree>
+            </field>
+        </record>
+
+        <!-- Student Information Search View -->
+        <record model="ir.ui.view" id="view_student_student_search_1">
+            <field name="name">student.student.search.1</field>
+            <field name="model">student.student</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Student Information">
+                    <group col="10" colspan="4">
+                         <field name="pid" />
+                         <field name="name"/>
+                         <field name="year"/>
+                         <field name="class_id"/>
+                         <field name="division_id"/>
+                         <field name="medium_id"/>
+                         <field name="gender"/>
+                    </group>
+                    <newline/>
+                    <group expand="0" string="Group By..." colspan="12" col="10">
+                        <filter icon="terp-project" string="Class" help="By Class" context="{'group_by':'class_id'}"/>
+                        <filter icon="terp-project" string="Division" help="By Division" context="{'group_by':'division_id'}"/>
+                        <filter icon="terp-project" string="Medium" help="By Medium" context="{'group_by':'medium_id'}"/>
+                        <filter icon="terp-project" string="Gender" help="By Gender" context="{'group_by':'gender'}"/>
+                    </group>
+                </search>
+            </field>
+        </record>      	
+        	
+        <record model="ir.ui.view" id="student_student_kanban_view">
+            <field name="name">Student KANBAN</field>
+            <field name="model">student.student</field>
+            <field name="type">kanban</field>
+            <field name="arch" type="xml">
+                <kanban default_group_by="class_id">
+                    <field name="color"/>
+                    <field name="name"/>
+                    <field name="email"/>
+                    <templates>
+                        <t t-name="kanban-box">
+                            <t t-set="color" t-value="kanban_color(record.color.raw_value || record.name.raw_value)"/>
+                            <div t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')">
+                                <div class="oe_kanban_box oe_kanban_color_border">
+                                    <div class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
+                                        <table class="oe_kanban_table">
+                                            <tr>
+                                                <td class="oe_kanban_title1" align="left" valign="middle">
+                                                    <field name="name"/>
+                                                    <field name="middle"/>
+                                                    <field name="last"/>
+                                                </td>
+                                                <td valign="top" width="22">
+                                                    <img t-att-src="kanban_gravatar(record.email.value, 22)" class="oe_kanban_gravatar"/>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
+                                        <table class="oe_kanban_table">
+                                            <tr>
+                                                <td valign="top" width="64" align="left">
+                                                    <img heigh="80" width="80" t-att-src="kanban_image('student.student', 'photo', record.id.value)"/>
+                                                </td>
+                                                <td valign="top" align="left">
+                                                    <div class="oe_kanban_title2">
+                                                        <div>Student ID : <field name="pid"/></div>
+                                                    </div>
+                                                    <div class="oe_kanban_title3">
+                                                        <div>Class : <field name="class_id"/></div>
+                                                        <div>Medium : <field name="medium_id"/></div>
+                                                        <div>Division :<field name="division_id"/></div>
+                                                    </div>
+                                                    <div class="oe_kanban_title3">
+                                                        <div>Admission Date : <field name="admission_date"/></div>
+                                                        <div>Gender<field name="gender"/></div>
+                                                    </div>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
+                                        <div class="oe_kanban_left">
+                                            <a string="Edit" icon="gtk-edit" type="edit"/>
+                                            <a string="Change Color" icon="color-picker" type="color" name="color"/>
+                                        </div>
+                                        <br class="oe_kanban_clear"/>
+                                    </div>
+                                </div>
+                            </div>
+                        </t>
+                    </templates>
+                </kanban>
+            </field>
+        </record>
+
+        <!-- Admission Register Information Form View -->
+        <record model="ir.ui.view" id="view_student_student_form_2">
+            <field name="name">student.student.form.2</field>
+            <field name="model">student.student</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Admission Register">
+                    <group colspan="4" col="8">
+                        <group col="6" colspan="3">
+                            <field name="pid" colspan="3"/>
+                            <field name="year" widget="selection" colspan="3"/>
+                            <field name="school_id" colspan="3"/>
+                        </group>
+                        <group col="2" colspan="1">
+                            <field name="photo"  widget='image' nolabel="1"/>
+                         </group>
+                     </group>
+                     <separator string="Class Information" colspan="4"/>
+                     <group col="6" colspan="4">
+                         <field name="class_id" widget="selection"/>
+                         <field name="medium_id" widget="selection"/>
+                         <field name="division_id" widget="selection"/>
+                     </group>    
+                    <separator string="Personal Information" colspan="4"/>
+                    <group col="6" colspan="4">
+                        <field name="name"/>
+                        <field name="middle"/>
+                        <field name="last"/>
+                     </group>
+                    <notebook colspan="4">
+                        <page string="General">
+                            <group col="4" colspan="4">
+                                <field name="gender"/>
+                                <field name="home_language"/>
+                                <field name="date_of_birth"/>
+                                <field name="admission_date"/>
+                                <field name="age"/>
+                                <field name="maritual_status"/>
+                                <field name="email"/>
+                            </group>
+                            <separator string="" colspan="4"/>
+                            <group colspan="9" col="8">
+                                <field name="state"/>
+                                <button name="admission_confirm" string="Confirm" states="draft" icon="gtk-execute"/>
+                                <button name="admission_cancel" string="Cancel" states="confirm" icon="gtk-cancel"/>
+                                <button name="admission_done" string="Done" states="confirm" icon="gtk-jump-to"/>
+                            </group>
+                        </page>
+                        <page string="Contacts">
+                            <field name="address" nolabel="1" colspan="4"/> 
+                        </page>
+                        <page string="References">
+                            <field name="reference_ids" nolabel="1" colspan="4"> 
+                                <tree string="Reference">
+                                    <field name="name"/>
+                                    <field name="middle"/>
+                                    <field name="last"/>
+                                    <field name="designation"/>
+                                    <field name="phone"/>
+                                    <field name="gender"/>
+                                </tree>
+                                <form string="Reference">
+                                    <group col="4" colspan="4">
+                                        <field name="name"/>
+                                        <field name="middle"/>
+                                        <field name="last"/>
+                                        <field name="designation"/>
+                                        <field name="phone"/>
+                                        <field name="gender"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Academic">
+                            <field name="previous_school_ids" nolabel="1" colspan="4"> 
+                                <tree string="Previous School Details">
+                                    <field name="name"/>
+                                    <field name="registration_no"/>
+                                    <field name="admission_date"/>
+                                    <field name="exit_date"/>
+                                    <field name="email"/>
+                                    <field name="phone"/>
+                                </tree>
+                                <form string="Previous School Details">
+                                    <group col="4" colspan="4">
+                                        <field name="name"/>
+                                        <field name="registration_no"/>
+                                        <field name="admission_date"/>
+                                        <field name="exit_date"/>
+                                        <field name="email"/>
+                                        <field name="phone"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Medical">
+                            <separator string="Doctor Information" colspan="4"/>
+                            <group col="6" colspan="4">
+                                <field name="doctor"/>
+                                <field name="designation"/>
+                                <field name="doctor_phone"/>
+                            </group>
+                            <separator string="Physical Information" colspan="4"/>
+                            <group col="6" colspan="4">
+                                <field name="blood_group"/>
+                                <field name="height"/>
+                                <field name="weight"/>
+                            </group>
+                            <separator string="Does the applicant have any Disabilities?" colspan="4"/>
+                            <group col="6" colspan="4">
+                                <field name="eye"/>
+                                <field name="ear"/>
+                                <field name="nose_throat"/>
+                                <field name="respiratory"/>
+                                <field name="cardiovascular"/>
+                                <field name="neurological"/>
+                                <field name="muskoskeletal"/>
+                                <field name="dermatological"/>
+                                <field name="blood_pressure"/>
+                            </group>
+                            <separator string="Notes" colspan="4"/>
+                            <group col="6" colspan="4">
+                                <field name="comment" nolabel="1"/>
+                            </group>
+                        </page>
+                        <page string="Emergency">
+                            <field name="emergency_contact_ids" nolabel="1" colspan="4"> 
+                                <tree string="Emergency Contact Details">
+                                    <field name="name"/>
+                                    <field name="relation"/>
+                                    <field name="phone"/>
+                                </tree>
+                                <form string="Emergency Contact Details">
+                                    <group col="6" colspan="4">
+                                        <field name="name"/>
+                                        <field name="relation"/>
+                                        <field name="phone"/>
+                                        <field name="email"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Remarks">
+                            <field name="remark" nolabel="1" colspan="4"/>
+                        </page>
+                        <page string="Attachments">
+                        	<field name="student_attachment_line" nolabel="1"/>
+<!--	                        	<tree string="Student Attachment">-->
+<!--		                            <field name="name"/>-->
+<!--		                            <field name="file_name"/>-->
+<!--	                            </tree>-->
+<!--	                            <form string="Students Attachment">-->
+<!--		                            <field name="name"/>-->
+<!--		                            <field name="new_datas" />-->
+<!--		                            <field name="file_name" />-->
+<!--	                            </form>-->
+<!--	                        </field>-->
+                        </page>
+                        <page string="Discipline">
+                        	<field name="student_discipline_line" nolabel="1">
+	                        	<tree string="Student Attachment">
+	                                    <field name="teacher_id"/>
+	                                    <field name="date"/>
+	                                    <field name="class_id"/>
+	                            </tree>
+	                            <form string="Students Attachment">
+	                                    <field name="teacher_id"/>
+	                                    <field name="date"/>
+	                                    <field name="class_id"/>
+	                                    <newline/>
+	                                    <field name="note"/>
+	                                    <field name="action_taken"/>
+	                            </form>
+	                        </field>
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+
+        <!-- Admission Register Information Tree View -->
+        <record model="ir.ui.view" id="view_student_student_tree_2">
+            <field name="name">student.student.tree.2</field>
+            <field name="model">student.student</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Admission Register">
+                    <field name="pid"/>
+                    <field name="name"/>
+                    <field name="year" widget="selection"/>
+                    <field name="class_id" widget="selection"/>
+                    <field name="medium_id" widget="selection"/>
+                    <field name="division_id" widget="selection"/>
+                    <field name="admission_date"/>
+                    <field name="gender"/>
+                    <field name="state"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Admission Register Information Search View -->
+        <record model="ir.ui.view" id="view_student_student_search_2">
+            <field name="name">student.student.search.2</field>
+            <field name="model">student.student</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Admission Register">
+                    <group col="10" colspan="4">
+                        <filter icon="terp-project"  string="Draft" domain="[('state','=', 'draft')]" help="Admission In Draft State"/>
+                        <filter icon="terp-project"  string="Confirm" domain="[('state','=', 'confirm')]" help="Admission In Confirm State"/>
+                        <filter icon="terp-project"  string="Cancel" domain="[('state','=', 'cancel')]" help="Admission In Pending State"/>
+                        <filter icon="terp-project"  string="Done" domain="[('state','=', 'done')]" help="Admission In Done State"/>
+                        <separator orientation="vertical"/>
+                        <field name="name"/>
+                        <field name="year"/>
+                        <field name="class_id"/>
+                        <field name="division_id"/>
+                        <field name="medium_id"/>
+                        <field name="gender"/>
+                    </group>
+                    <newline/>
+                    <group expand="0" string="Group By..." colspan="12" col="10">
+                        <filter icon="terp-project" string="State" help="By State" context="{'group_by':'state'}"/>
+                        <filter icon="terp-project" string="Class" help="By Class" context="{'group_by':'class_id'}"/>
+                        <filter icon="terp-project" string="Division" help="By Division" context="{'group_by':'division_id'}"/>
+                        <filter icon="terp-project" string="Medium" help="By Medium" context="{'group_by':'medium_id'}"/>
+                        <filter icon="terp-project" string="Gender" help="By Gender" context="{'group_by':'gender'}"/>
+                    </group>
+                </search>
+            </field>
+        </record>
+
+        <!-- School Information Form View -->
+        <record model="ir.ui.view" id="view_school_school_form">
+            <field name="name">school.school.form</field>
+            <field name="model">school.school</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="School Information">
+                    <group col="6" colspan="4">
+                         <field name="name"/>
+                        <field name="code"/>
+                    </group>
+                    <notebook colspan="4">
+                        <page string="Standards">
+                            <field name="standards" nolabel="1" colspan="4"/>
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+        
+        <!-- School Information Tree View -->
+        <record model="ir.ui.view" id="view_school_school_tree">
+            <field name="name">school.school.tree</field>
+            <field name="model">school.school</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="School Information">
+                    <field name="name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- School Standard Information Form View -->
+        <record model="ir.ui.view" id="view_school_standard_form">
+            <field name="name">school.standard.form</field>
+            <field name="model">school.standard</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Standard Information">
+                    <group col="4" colspan="4">
+                        <field name="standard_id" widget="selection"/>
+                        <field name="division_id" widget="selection"/>
+                        <field name="medium_id" widget="selection"/>
+                        <field name="school_id" widget="selection"/>
+                        <field name="user_id"/>
+                    </group>
+                    <notebook colspan="4">
+                        <page string="Students">
+                            <field name="student_ids" nolabel="1" colspan="4" >
+                                <tree string="Student Information">
+                                    <field name="roll_no"/>
+                                    <field name="name"/>
+                                    <field name="year"/>
+                                </tree>
+                                <form string="Student Information">
+                                    <group col="4" colspan="4">
+                                        <field name="roll_no"/>
+                                        <field name="name"/>
+                                        <field name="year"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Subjects">
+                            <field name="subject_ids" nolabel="1" colspan="4" />
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+
+        
+        <record model="ir.ui.view" id="school_standard_kanban_view">
+            <field name="name">school.standard.kanban</field>
+            <field name="model">school.standard</field>
+            <field name="type">kanban</field>
+            <field name="arch" type="xml">
+                <kanban default_group_by="standard_id">
+                    <field name="school_id"/>
+                    <field name="standard_id"/>
+                    <field name="division_id"/>
+                    <field name="medium_id"/>
+                    <field name="user_id"/>
+                    <field name="color"/>
+                    <templates>
+                        <t t-name="kanban-box">
+                            <t t-set="color" t-value="kanban_color(record.color.raw_value || record.school_id.value)"/>
+                            <div t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')">
+                                <div class="oe_kanban_box oe_kanban_color_border">
+                                    <div class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
+                                        <table class="oe_kanban_table">
+                                            <tr>
+                                                <td class="oe_kanban_title1" align="left" valign="middle">
+                                                    <div> School :- <field name="school_id"/></div>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
+                                        <table class="oe_kanban_table">
+                                            <tr>
+                                                <td valign="top" align="left">
+                                                    <div class="oe_kanban_title2">
+                                                        <div> Class Teacher :- <field name="user_id"/></div>
+                                                    </div>
+                                                    <div class="oe_kanban_title3">
+                                                        <div> Standard :- <field name="standard_id"/></div>
+                                                        <div> Division :- <field name="division_id"/></div>
+                                                        <div> Medium :- <field name="medium_id"/></div>
+                                                    </div>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
+                                        <div class="oe_kanban_left">
+                                            <a string="Edit" icon="gtk-edit" type="edit"/>
+                                            <a string="Delete" icon="gtk-delete" type="delete"/>
+                                            <a string="Change Color" icon="color-picker" type="color" name="color"/>
+                                        </div>
+                                        <br class="oe_kanban_clear"/>
+                                    </div>
+                                </div>
+                            </div>
+                        </t>
+                    </templates>
+                </kanban>
+            </field>
+        </record>
+
+    <!-- School Standard Information Tree View -->
+        <record model="ir.ui.view" id="view_school_standard_tree">
+            <field name="name">school.standard.tree</field>
+            <field name="model">school.standard</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Standard Information">
+                    <field name="standard_id"/>
+                    <field name="division_id"/>
+                    <field name="medium_id"/>
+                    <field name="user_id"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- School Standard Information Search View -->
+        <record model="ir.ui.view" id="view_student_student_search">
+            <field name="name">school.standard.search</field>
+            <field name="model">school.standard</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Standard Information">
+                    <group col="10" colspan="4">
+                         <field name="standard_id"/>
+                         <field name="division_id"/>
+                         <field name="medium_id"/>
+                         <field name="user_id"/>
+                    </group>
+                    <newline/>
+                    <group expand="0" string="Group By..." colspan="12" col="10">
+                        <filter icon="terp-project" string="School" help="By School" context="{'group_by':'school_id'}"/>
+                        <filter icon="terp-project" string="Class" help="By Class" context="{'group_by':'standard_id'}"/>
+                        <filter icon="terp-project" string="Division" help="By Division" context="{'group_by':'division_id'}"/>
+                        <filter icon="terp-project" string="Medium" help="By Medium" context="{'group_by':'medium_id'}"/>
+                    </group>
+                </search>
+            </field>
+        </record>
+ 
+        <!-- Academic Years Information From View -->
+        <record model="ir.ui.view" id="view_academic_year_form">
+            <field name="name">acdemic.year.form</field>
+            <field name="model">academic.year</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Academic Years">
+                    <group col="4" colspan="4">
+                        <field name="sequence"/>
+                        <field name="name"/>  
+                        <field name="code"/>
+                        <field name="date_start"/>
+                        <field name="date_stop"/>
+                    </group>
+                    <notebook colspan="4">
+                        <page string="Months">
+                            <field name="month_ids" nolabel="1" colspan="4">
+                                <tree string="Months">
+                                    <field name="name"/>  
+                                    <field name="code"/>
+                                    <field name="date_start"/>
+                                    <field name="date_stop"/>
+                                </tree>
+                                <form string="Months">
+                                    <group col="4" colspan="4">
+                                        <field name="name"/>  
+                                        <field name="code"/>
+                                        <field name="date_start"/>
+                                        <field name="date_stop"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+
+        <!-- Academic Years Information Tree View -->
+        <record model="ir.ui.view" id="view_academic_year_tree">
+            <field name="name">academic.year.tree</field>
+            <field name="model">academic.year</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Academic Years">
+                    <field name="sequence"/>
+                    <field name="name"/>  
+                    <field name="code"/>
+                    <field name="date_start"/>
+                    <field name="date_stop"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Academic Months Information From View -->
+        <record model="ir.ui.view" id="view_academic_month_form">
+            <field name="name">academic.month.form</field>
+            <field name="model">academic.month</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Months">
+                    <group col="4" colspan="4">
+                        <field name="name"/>
+                        <field name="code"/>
+                        <field name="date_start"/>
+                        <field name="date_stop"/>
+                        <field name="year_id" colspan="4"/>
+                    </group>
+                </form>
+            </field>
+        </record>
+
+        <!-- Academic Months Information Tree View -->
+        <record model="ir.ui.view" id="view_academic_month_tree">
+            <field name="name">academic.month.tree</field>
+            <field name="model">academic.month</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Months">
+                    <field name="name"/>
+                    <field name="code"/>
+                    <field name="date_start"/>
+                    <field name="date_stop"/>
+                    <field name="year_id"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Standard Medium Information From View -->
+        <record model="ir.ui.view" id="view_standard_medium_form">
+            <field name="name">standard.medium.form</field>
+            <field name="model">standard.medium</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Mediums">
+                    <group col="4" colspan="4">
+                        <field name="sequence"/>
+                        <field name="name"/>
+                        <field name="code"/>
+                    </group>
+                </form>
+            </field>
+        </record>
+
+        <!-- Standard Medium Information Tree View -->
+        <record model="ir.ui.view" id="view_standard_medium_tree">
+            <field name="name">standard.medium.tree</field>
+            <field name="model">standard.medium</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Mediums">
+                    <field name="sequence"/>
+                    <field name="name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+        
+        <!-- Standard Division Information From View -->
+        <record model="ir.ui.view" id="view_standard_division_form">
+            <field name="name">standard.division.form</field>
+            <field name="model">standard.division</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Divisions">
+                    <group col="4" colspan="4">
+                        <field name="sequence"/>
+                        <field name="name"/>
+                        <field name="code"/>
+                    </group>
+                </form>
+            </field>
+        </record>
+
+        <!-- Standard Division Information Tree View -->
+        <record model="ir.ui.view" id="view_standard_division_tree">
+            <field name="name">standard.division.tree</field>
+            <field name="model">standard.division</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Divisions">
+                    <field name="sequence"/>
+                    <field name="name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Subject Information From View -->
+        <record model="ir.ui.view" id="view_subject_subject_form">
+            <field name="name">subject.subject.form</field>
+            <field name="model">subject.subject</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Subjects">
+                    <group col="4" colspan="4">
+                        <field name="name"/>
+                        <field name="code"/>
+                        <field name="maximum_marks" />
+                        <field name="minimum_marks" />
+                        <field name="weightage" />
+                    </group>
+                    <notebook colspan="4">
+                        <page string="Standards">
+                            <field name="standard_ids" nolabel="1" colspan="4">
+                                <tree string="Standards">
+                                    <field name="standard_id"/>
+                                    <field name="division_id"/>
+                                    <field name="medium_id"/>
+                                </tree>
+                                <form string="Standards">
+                                    <group col="4" colspan="4">
+                                        <field name="standard_id"/>
+                                        <field name="division_id"/>
+                                        <field name="medium_id"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </page>
+                        <page string="Teachers">
+                            <field name="teacher_ids" nolabel="1" colspan="4"/>
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+
+        <!--  Subject Information Tree View -->
+        <record model="ir.ui.view" id="view_subject_subject_tree">
+            <field name="name">subject.subject.tree</field>
+            <field name="model">subject.subject</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Subjects">
+                    <field name="name"/>
+                    <field name="code"/>
+                    <field name="maximum_marks"/>
+                    <field name="minimum_marks"/>
+                    <field name="weightage"/>
+                </tree>
+            </field>
+        </record>
+        
+        <!-- Standard Information Form View -->
+        <record model="ir.ui.view" id="view_standard_standard_form">
+            <field name="name">standard.standard.form</field>
+            <field name="model">standard.standard</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Standard Information">
+                    <group col="6" colspan="4">
+                        <field name="sequence"/>
+                        <field name="name"/>
+                        <field name="code"/>
+                    </group>
+                </form>
+            </field>
+        </record>
+
+        <!-- Standard Information Tree View -->
+        <record model="ir.ui.view" id="view_standard_standard_tree">
+            <field name="name">standard.standard.tree</field>
+            <field name="model">standard.standard</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Standard Information">
+                    <field name="sequence"/>
+                    <field name="name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Teacher Information Form View -->
+        <record model="ir.ui.view" id="view_teacher_teacher_form">
+            <field name="name">hr.employee.form</field>
+            <field name="model">hr.employee</field>
+            <field name="inherit_id" ref="hr.view_employee_form"/>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <data>
+                     <xpath expr="//page[@string = 'Categories']" position="after">
+                        <page string="Subjects">
+                            <field name="subject_ids" nolabel="1"/>
+                        </page>
+                    </xpath>
+                </data> 
+            </field>
+        </record>
+
+        <!-- Student Information Form Action -->
+        <record model="ir.actions.act_window" id="action_student_student_form_12">
+            <field name="name">Students</field>
+            <field name="res_model">student.student</field>
+            <field name="view_type">form</field>
+            <field name="search_view_id" ref="view_student_student_search_1"/>
+            <field name="view_mode">kanban,tree,form</field>
+            <field name="domain">[('state','=','done')]</field>
+        </record>
+
+        <!-- Student Information Tree Action View-->
+        <record id="action_view_student_student_tree_1" model="ir.actions.act_window.view">
+            <field name="view_mode">tree</field>
+            <field eval="20" name="sequence"/>
+            <field name="view_id" ref="view_student_student_tree_1"/>
+            <field name="act_window_id" ref="action_student_student_form_12"/>
+        </record>
+        <record id="action_view_student_student_form_1" model="ir.actions.act_window.view">
+            <field name="view_mode">form</field>
+            <field eval="30" name="sequence"/>
+            <field name="view_id" ref="view_student_student_form_1"/>
+            <field name="act_window_id" ref="action_student_student_form_12"/>
+        </record>
+        <record id="action_view_student_student_kanban_1" model="ir.actions.act_window.view">
+            <field name="view_mode">kanban</field>
+            <field eval="0" name="sequence"/>
+            <field name="view_id" ref="student_student_kanban_view"/>
+            <field name="act_window_id" ref="action_student_student_form_12"/>
+        </record>
+
+        <!-- Admission Register Information Form Action -->
+        <record model="ir.actions.act_window" id="action_student_student_form_2">
+            <field name="name">Admission Register</field>
+            <field name="res_model">student.student</field>
+            <field name="view_type">form</field>
+            <field name="view_id" ref="view_student_student_form_2"/>
+            <field name="search_view_id" ref="view_student_student_search_2"/>
+            <field name="view_mode">tree,form,kanban</field>
+        </record>
+
+        <!-- Admission Register Information Tree Action -->
+        <record id="action_student_student_tree_2" model="ir.actions.act_window.view">
+            <field name="view_mode">tree</field>
+            <field name="view_id" ref="view_student_student_tree_2"/>
+            <field name="act_window_id" ref="action_student_student_form_2"/>
+        </record>
+        
+        <!-- Teacher Information Action -->
+        <record model="ir.actions.act_window" id="action_teacher_teacher_form_1">
+            <field name="name">Teachers</field>
+            <field name="res_model">hr.employee</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">kanban,tree,form</field>
+        </record>
+        
+        <!-- Contact Information Action -->
+        <record model="ir.actions.act_window" id="action_student_address_form">
+            <field name="name">Contacts</field>
+            <field name="res_model">res.partner.address</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- School Information Action -->
+        <record model="ir.actions.act_window" id="action_school_school_form">
+            <field name="name">Schools</field>
+            <field name="res_model">school.school</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Information Action -->
+        <record model="ir.actions.act_window" id="action_school_standard_form">
+            <field name="name">Standards</field>
+            <field name="res_model">school.standard</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form,kanban</field>
+        </record>
+
+        <!-- Academic Year Information Action -->
+        <record model="ir.actions.act_window" id="action_academic_year_form">
+            <field name="name">Academic Years</field>
+            <field name="res_model">academic.year</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Academic Month Information Action -->
+        <record model="ir.actions.act_window" id="action_academic_month_form">
+            <field name="name">Months</field>
+            <field name="res_model">academic.month</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Medium Information Action -->
+        <record model="ir.actions.act_window" id="action_standard_medium_form">
+            <field name="name">Mediums</field>
+            <field name="res_model">standard.medium</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Division Information Action -->
+        <record model="ir.actions.act_window" id="action_standard_division_form">
+            <field name="name">Divisions</field>
+            <field name="res_model">standard.division</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Subject Information Action -->
+        <record model="ir.actions.act_window" id="action_subject_subject_form">
+            <field name="name">Subjects</field>
+            <field name="res_model">subject.subject</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Information Action -->
+        <record model="ir.actions.act_window" id="action_standard_standard_form">
+            <field name="name">Classes</field>
+            <field name="res_model">standard.standard</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <record id="view_parent_form" model="ir.ui.view">
+            <field name="name">res.partner.parent.form</field>
+            <field name="model">res.partner</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Partners" col='1'>
+                    <group col="6" colspan="4">
+                        <group colspan="5" col="6">
+                            <field name="name" select="1"/>
+                        </group>
+                    </group>
+                    <notebook colspan="4">
+                        <page string="General">
+                            <field colspan="4" mode="form,tree" name="address" nolabel="1" select="1" height="260">
+                                <form string="Partner Contacts">
+                                    <group colspan="4" col="6">
+                                        <field name="name" string="Contact Name"/>
+                                        <field domain="[('domain', '=', 'contact')]" name="title" size="0"/>
+                                    </group>
+                                    <newline/>
+                                      <group colspan="2" col="4">
+                                        <separator string="Postal Address" colspan="4" col="4" />
+                                        <field name="type" string="Type" colspan="2"/>
+                                        <field name="street" colspan="4"/>
+                                        <field name="street2" colspan="4"/>
+                                        <field name="zip"/>
+                                        <field name="city"/>
+                                        <field name="country_id" completion="1"/>
+                                        <field name="state_id"/>
+                                     </group>
+                                     <group colspan="2" col="2">
+                                        <separator string="Communication" colspan="2" col="2" />
+                                        <field name="phone"/>
+                                        <field name="mobile"/>
+                                        <field name="fax"/>
+                                        <field name="email" widget="email"/>
+                                     </group>
+                                </form>
+                                <tree string="Partner Contacts">
+                                    <field name="name"/>
+                                    <field name="zip"/>
+                                    <field name="city"/>
+                                    <field name="country_id"/>
+                                    <field name="phone"/>
+                                    <field name="email"/>
+                                </tree>
+                            </field>
+                            <group  groups="base.group_extended">
+                                    <separator colspan="4" string="Categories"/>
+                                    <field  colspan="4" name="category_id" nolabel="1"/>
+                            </group>
+                        </page>
+                        <page string="Notes">
+                            <field colspan="4" name="comment" nolabel="1"/>
+                        </page>
+                    </notebook>
+                </form>
+            </field>
+        </record>
+
+       <record id="view_res_partner_parent_filter" model="ir.ui.view">
+            <field name="name">res.partner.parent.select</field>
+            <field name="model">res.partner</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Search Partner">
+                   <group col='10' colspan='4'>
+                        <field name="name" select="1"/>
+                        <field name="address" select="1"/>
+                        <field name="country" select="1"/>
+                   </group>
+               </search>
+            </field>
+        </record>
+
+        <record id="view_parent_tree" model="ir.ui.view">
+            <field name="name">res.partner.tree</field>
+            <field name="model">res.partner</field>
+            <field name="type">tree</field>
+            <field eval="8" name="priority"/>
+            <field name="arch" type="xml">
+                <tree string="Partners">
+                    <field name="name"/>
+                    <field name="phone"/>
+                    <field name="email"/>
+                    <field name="city"/>
+                    <field name="country"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Parent Information Action -->
+        <record model="ir.actions.act_window" id="action_parent_form">
+            <field name="name">Parents</field>
+            <field name="res_model">res.partner</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form,kanban</field>
+            <field name="search_view_id" ref="view_res_partner_parent_filter"/>
+        </record>
+
+        <record id="action_partner_form_view1" model="ir.actions.act_window.view">
+            <field eval="10" name="sequence"/>
+            <field name="view_mode">tree</field>
+            <field name="view_id" ref="view_parent_tree"/>
+            <field name="act_window_id" ref="action_parent_form"/>
+        </record>
+
+        <record id="action_parent_form_view2" model="ir.actions.act_window.view">
+            <field eval="20" name="sequence"/>
+            <field name="view_mode">form</field>
+            <field name="view_id" ref="view_parent_form"/>
+            <field name="act_window_id" ref="action_parent_form"/>
+        </record>
+
+        <menuitem
+            icon="terp-project" id="menu_ems"
+            name="EMS" sequence="4"
+            web_icon="images/icon.png"
+            web_icon_hover="images/hover.png"/>
+
+         <menuitem
+            name="Configuration" parent="menu_ems"
+            id="menu_configuration"
+            sequence="10"
+            groups="group_school_administration"/>
+            
+        <menuitem
+            name="Students Profile" parent="menu_ems"
+            id="menu_student_profile"
+            sequence="2"
+            action="action_student_student_form_12"/>
+
+        <!-- <menuitem
+            name="Teachers Profile" parent="menu_configuration"
+            id="menu_teacher_teacher_form"
+            action="action_teacher_teacher_form_1"/>
+ -->
+        <menuitem
+            name="Parents Details" parent="menu_configuration"
+            id="menu_res_partner_form"
+            action="action_parent_form"/>
+
+        
+        
+        <menuitem
+            name="Admission Register" parent="menu_ems"
+            id="menu_admission_register_form"
+            action="action_student_student_form_2"
+            sequence="1"/>
+
+
+        <menuitem
+            name="School" parent="menu_configuration"
+            id="menu_school"
+            sequence="5"/>
+
+        <menuitem
+            name="Schools" parent="menu_school"
+            id="menu_school_school_form"
+            action="action_school_school_form"/>
+
+        <menuitem
+            name="Academic Year" parent="menu_configuration"
+            id="menu_academic_year" 
+            sequence="1"/>
+
+         <menuitem
+            name="Years" parent="menu_academic_year"
+            id="menu_academic_year_form"
+            action="action_academic_year_form"
+            sequence="1"/>
+
+         <menuitem
+            name="Months" parent="menu_academic_year"
+            id="menu_academic_month_form"
+            action="action_academic_month_form"
+            sequence="2"/>
+
+         <menuitem
+            name="Standard" parent="menu_configuration"
+            id="menu_standards" 
+            sequence="2"/>
+
+        <menuitem
+            name="Standards" parent="menu_standards"
+            id="menu_school_standard_form"
+            action="action_school_standard_form"/>
+
+         <menuitem
+            name="Classes" parent="menu_standards"
+            id="menu_standard_standard_form"
+            action="action_standard_standard_form"
+            sequence="1"/>
+                  
+         <menuitem
+            name="Mediums" parent="menu_standards"
+            id="menu_standard_medium_form"
+            action="action_standard_medium_form"
+            sequence="2"/>
+
+         <menuitem
+            name="Divisions" parent="menu_standards"
+            id="menu_standard_division_form"
+            action="action_standard_division_form"
+            sequence="3"/>
+            
+        <menuitem
+            name="Subject" parent="menu_configuration"
+            id="menu_subjects" 
+            sequence="3"/>
+
+        <menuitem
+            name="Subjects" parent="menu_subjects"
+            id="menu_subject_subject_form"
+            action="action_subject_subject_form"
+            sequence="1"/>
+
+		<record model="ir.ui.view" id="view_partner_add_tree1">
+            <field name="name">res.partner.address.tree</field>
+            <field name="model">res.partner.address</field>
+            <field name="inherit_id" ref="base.view_partner_address_tree"/>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Partner Addresses" position="attributes">
+                	<attribute name="string">PARENT ADDRESS</attribute>
+                </tree>
+                <field name="partner_id" position="attributes">
+                	<attribute name="string">Parent</attribute>
+                </field>
+            </field>
+        </record>
+        
+        <record model="ir.ui.view" id="view_partner_add_form2">
+            <field name="name">res.partner.address.tree</field>
+            <field name="model">res.partner.address</field>
+            <field name="inherit_id" ref="base.view_partner_address_form1"/>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <field name="partner_id" position="attributes">
+                	<attribute name="string">Parent Name</attribute>
+                </field>
+            </field>
+        </record>
+        
+        <record model="ir.ui.view" id="view_company_form_inherit">
+            <field name="name">res.company.form</field>
+            <field name="model">res.company</field>
+            <field name="inherit_id" ref="base.view_company_form"/>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <field name="name" position="attributes">
+                	<attribute name="string">School Name</attribute>
+                </field>
+            </field>
+        </record>
+
+
+		<record id="view_student_attachment_tree" model="ir.ui.view">
+            <field name="name">student.attachment.tree</field>
+            <field name="model">student.attachment</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Attachment">
+                    <field name="name"/>
+		            <field name="file_name" />
+                </tree>
+            </field>
+        </record>
+        
+        
+        <record id="view_student_attachment_form" model="ir.ui.view">
+            <field name="name">student.attachment.form</field>
+            <field name="model">student.attachment</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Attachment">
+                    <field name="name"/>
+                    <field name="new_datas" />
+                    <field name="file_name" />
+                </form>
+            </field>
+        </record>
+    </data>
+</openerp>

+ 19 - 0
.svn/text-base/student_sequence.xml.svn-base

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+
+        <!-- Sequences for student.student (Personal Identification Number) -->
+        <record id="seq_student_student_type" model="ir.sequence.type">
+            <field name="name">Personal Identification Number</field>
+            <field name="code">student.student</field>
+        </record>
+
+        <record id="seq_student_student" model="ir.sequence">
+            <field name="name">Student</field>
+            <field name="code">student.student</field>
+            <field name="prefix">%(year)s/%(month)s/</field>
+            <field name="padding">3</field>
+        </record>
+
+    </data>
+</openerp>

+ 44 - 0
README.rst

@@ -0,0 +1,44 @@
+school
+
+This module was written to extend the functionality of school to support school management and allow you to get a functionality of school management.
+
+Installation
+
+To install this module, you need to:
+
+install 'hr', 'mail', 'crm', 'report', 'board' module
+
+Configuration
+
+To configure this module, you need to:
+
+have a school management functionality.
+
+Usage
+
+To use this module, you need to:
+
+go to apps, then install module to apply this functionality.
+
+Try me on Runbot
+Known issues / Roadmap
+
+...
+
+Bug Tracker
+
+Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback here.
+
+Credits
+
+Contributors
+
+Serpent Consulting Services PVT. LTD. <http://serpentcs.com>
+
+Maintainer
+
+Serpent Consulting Services PVT. LTD.
+
+This module is maintained by the SerpentCS.
+
+To contribute to this module, please visit http://serpentcs.com.

+ 27 - 0
__init__.py

@@ -0,0 +1,27 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+# ----------------------------------------------------------
+# A Module to School Management System
+# ----------------------------------------------------------
+from . import school
+from . import wizard

BIN
__init__.pyc


+ 65 - 0
__openerp__.py

@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+{
+    "name": "School",
+    "version": "3.0",
+    "author": "Serpent Consulting Services Pvt. Ltd.",
+    "website": "http://www.serpentcs.com",
+    "images": ["static/description/school.png"],
+    "category": "School Management",
+    "complexity": "easy",
+    "description": """A module to School Management.
+        A Module support the following functionalities:
+        1. Admission Procedure
+        2. Student Information
+        3. Parent Information
+        4. Teacher Information
+        5. School Information
+        6. Standard, Medium and Division Information
+        7. Subject Information
+                    """,
+    "depends": ["hr", "email_template", "crm", "report"],
+    "data": [
+            "wizard/wiz_send_email_view.xml",
+            "security/school_security.xml",
+            "school_view.xml",
+            "security/ir.model.access.csv",
+            "admission_workflow.xml",
+            "student_sequence.xml",
+            "wizard/assign_roll_no_wizard.xml",
+            "wizard/move_standards_view.xml",
+            "wizard/wiz_meeting_view.xml",
+            "report_view.xml",
+            "views/identity_card.xml",
+    ],
+    'demo': ['demo/school_demo.xml'
+             ],
+
+    'test': [
+        'test/school_test.yml',
+        'test/assign_roll_no_test.yml',
+        ],
+
+    "installable": True,
+    "auto_install": False,
+    "application": True,
+}

+ 63 - 0
admission_workflow.xml

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+
+    <!-- General structure of a workflow XML file -->
+    <record model="workflow" id="wkf_event">
+        <field name="name">workflow.event</field>
+        <field name="osv">student.student</field>
+        <field name="on_create">True</field>
+    </record>
+
+    <!-- Admission Procedure Workflow Activities -->
+    <record model="workflow.activity" id="act_draft">
+        <field name="wkf_id" ref="wkf_event"/>
+        <field name="name">activity.draft</field>
+        <field name="flow_start">True</field>
+    </record>
+
+    <record model="workflow.activity" id="act_confirm">
+        <field name="name">activity.confirm</field>
+        <field name="wkf_id" ref="wkf_event"/>
+         <field name="kind">function</field>
+         <field name="action">admission_confirm()</field>
+    </record>
+
+    <record model="workflow.activity" id="act_cancel">
+        <field name="wkf_id" ref="wkf_event"/>
+        <field name="name">activity.cancel</field>
+        <field name="flow_stop">True</field>
+         <field name="kind">function</field>
+         <field name="action">admission_cancel()</field>
+    </record>
+    
+    <record model="workflow.activity" id="act_done">
+        <field name="name">activity.done</field>
+        <field name="wkf_id" ref="wkf_event"/>
+        <field name="flow_stop">True</field>
+        <field name="kind">function</field>
+        <field name="action">admission_done()</field>
+    </record>
+
+    <!-- Admission Procedure Workflow Transitions -->
+    <record model="workflow.transition" id="trans_draft_confirm">
+        <field name="act_from" ref="act_draft"/>
+        <field name="act_to" ref="act_confirm"/>
+        <field name="signal">admission_confirm</field>
+    </record>
+
+    <record model="workflow.transition" id="trans_confirm_cancel">
+        <field name="act_from" ref="act_confirm"/>
+        <field name="act_to" ref="act_cancel"/>
+        <field name="signal">admission_cancel</field>
+    </record>
+
+    <record model="workflow.transition" id="trans_confirm_done">
+        <field name="act_from" ref="act_confirm"/>
+        <field name="act_to" ref="act_done"/>
+        <field name="signal">admission_done</field>
+    </record>
+
+</data>
+</openerp>
+

+ 11 - 0
demo/.svn/all-wcprops

@@ -0,0 +1,11 @@
+K 25
+svn:wc:ra_dav:version-url
+V 35
+/svn/eduerp/!svn/ver/10/school/demo
+END
+school_demo.xml
+K 25
+svn:wc:ra_dav:version-url
+V 51
+/svn/eduerp/!svn/ver/10/school/demo/school_demo.xml
+END

+ 62 - 0
demo/.svn/entries

@@ -0,0 +1,62 @@
+10
+
+dir
+25
+https://subversion.assembla.com/svn/eduerp/school/demo
+https://subversion.assembla.com/svn/eduerp
+
+
+
+2012-04-04T12:19:15.033772Z
+10
+sudhir.arya
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6df9b670-c5ec-4fb9-963b-ff4819e6ba42
+
+school_demo.xml
+file
+
+
+
+
+2012-04-24T07:15:20.156586Z
+839edfcbe602c979a9852b9b018d73e6
+2012-04-04T12:19:15.033772Z
+10
+sudhir.arya
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+24540
+

+ 670 - 0
demo/.svn/text-base/school_demo.xml.svn-base

@@ -0,0 +1,670 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+
+    	<!--Academic Year  Information-->
+        
+		<record id="demo_academic_year_1" model="academic.year">
+			<field name="name">Academic Year 2011</field>
+			<field name="code">2011</field>
+			<field name="sequence">1</field>
+			<field name="date_start">01/01/2011</field>
+			<field name="date_stop">12/31/2011</field>
+		</record>
+
+    	<!--Academic Month Information-->
+		<record id="demo_academic_month_1" model="academic.month">
+			<field name="name">January</field>
+			<field name="code">1</field>
+			<field name="date_start">01/01/2011</field>
+			<field name="date_stop">01/31/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_2" model="academic.month">
+			<field name="name">February</field>
+			<field name="code">2</field>
+			<field name="date_start">02/01/2011</field>
+			<field name="date_stop">02/28/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_3" model="academic.month">
+			<field name="name">March</field>
+			<field name="code">3</field>
+			<field name="date_start">03/01/2011</field>
+			<field name="date_stop">03/31/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_4" model="academic.month">
+			<field name="name">April</field>
+			<field name="code">4</field>
+			<field name="date_start">04/01/2011</field>
+			<field name="date_stop">04/30/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_5" model="academic.month">
+			<field name="name">May</field>
+			<field name="code">5</field>
+			<field name="date_start">05/01/2011</field>
+			<field name="date_stop">05/31/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_6" model="academic.month">
+			<field name="name">June</field>
+			<field name="code">6</field>
+			<field name="date_start">06/01/2011</field>
+			<field name="date_stop">06/30/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_7" model="academic.month">
+			<field name="name">July</field>
+			<field name="code">7</field>
+			<field name="date_start">07/01/2011</field>
+			<field name="date_stop">07/31/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_8" model="academic.month">
+			<field name="name">August</field>
+			<field name="code">8</field>
+			<field name="date_start">08/01/2011</field>
+			<field name="date_stop">08/31/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_9" model="academic.month">
+			<field name="name">September</field>
+			<field name="code">9</field>
+			<field name="date_start">09/01/2011</field>
+			<field name="date_stop">09/30/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_10" model="academic.month">
+			<field name="name">October</field>
+			<field name="code">10</field>
+			<field name="date_start">10/01/2011</field>
+			<field name="date_stop">10/31/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_11" model="academic.month">
+			<field name="name">November</field>
+			<field name="code">11</field>
+			<field name="date_start">11/01/2011</field>
+			<field name="date_stop">11/30/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<record id="demo_academic_month_12" model="academic.month">
+			<field name="name">December</field>
+			<field name="code">12</field>
+			<field name="date_start">12/01/2011</field>
+			<field name="date_stop">12/31/2011</field>
+			<field name="year_id" ref='demo_academic_year_1'/>
+		</record>
+
+		<!--Standard Information-->
+		
+		<record id="demo_standard_standard_1" model="standard.standard">
+			<field name="name">First</field>
+			<field name="code">FRT</field>
+			<field name="sequence">1</field>
+		</record>
+
+		<record id="demo_standard_standard_2" model="standard.standard">
+			<field name="name">Second</field>
+			<field name="code">SCN</field>
+			<field name="sequence">2</field>
+		</record>
+
+		<record id="demo_standard_standard_3" model="standard.standard">
+			<field name="name">Third</field>
+			<field name="code">THR</field>
+			<field name="sequence">3</field>
+		</record>
+
+		<!--Standard Medium Information-->
+		
+		<record id="demo_standard_medium_1" model="standard.medium">
+			<field name="name">English</field>
+			<field name="code">ENG</field>
+			<field name="sequence">1</field>
+		</record>
+
+		<record id="demo_standard_medium_2" model="standard.medium">
+			<field name="name">Hindi</field>
+			<field name="code">HIN</field>
+			<field name="sequence">2</field>
+		</record>
+
+		<record id="demo_standard_medium_3" model="standard.medium">
+			<field name="name">Gujarati</field>
+			<field name="code">GUJ</field>
+			<field name="sequence">3</field>
+		</record>
+
+		<!--Standard Division Information-->
+		
+		<record id="demo_standard_division_1" model="standard.division">
+			<field name="name">A</field>
+			<field name="code">A</field>
+			<field name="sequence">1</field>
+		</record>
+
+		<record id="demo_standard_division_2" model="standard.division">
+			<field name="name">B</field>
+			<field name="code">B</field>
+			<field name="sequence">2</field>
+		</record>
+
+		<!--Subject Information-->
+		
+		<record id="demo_subject_subject_1" model="subject.subject">
+			<field name="name">Maths</field>
+			<field name="code">MAT</field>
+		</record>
+
+		<record id="demo_subject_subject_2" model="subject.subject">
+			<field name="name">Science</field>
+			<field name="code">SCN</field>
+		</record>
+
+		<record id="demo_subject_subject_3" model="subject.subject">
+			<field name="name">English</field>
+			<field name="code">ENG</field>
+		</record>
+
+		<record id="demo_subject_subject_4" model="subject.subject">
+			<field name="name">Gujarati</field>
+			<field name="code">GUJ</field>
+		</record>
+
+		<record id="demo_subject_subject_5" model="subject.subject">
+			<field name="name">Hindi</field>
+			<field name="code">HIN</field>
+		</record>
+
+		<record id="demo_subject_subject_6" model="subject.subject">
+			<field name="name">Social Science</field>
+			<field name="code">SOS</field>
+		</record>
+
+		<record id="demo_subject_subject_7" model="subject.subject">
+			<field name="name">Computer</field>
+			<field name="code">CMP</field>
+		</record>
+
+		<record id="demo_subject_subject_8" model="subject.subject">
+			<field name="name">Sport</field>
+			<field name="code">PET</field>
+		</record>
+
+	<!--School Information-->
+		
+		<record id="demo_school_school_1" model="school.school">
+			<field name="name">Swaminarayan Gurukul</field>
+			<field name="code">SGVP</field>
+		</record>
+
+	<!--Parent Information-->
+
+		<record id="demo_partner1" model="res.partner">
+			<field name="name">Divyesh Parent</field>
+			<field name="ref">div</field>
+		</record>	
+
+		<record id="demo_partner2" model="res.partner">
+			<field name="name">Jalpesh Parent</field>
+			<field name="ref">jal</field>
+		</record>
+	
+		<record id="demo_partner3" model="res.partner">
+			<field name="name">Hitesh Parent</field>
+			<field name="ref">hit</field>
+			<field name="photo"></field>
+		</record>	
+
+		<record id="demo_partner4" model="res.partner">
+			<field name="name">Samir Parent</field>
+			<field name="ref">sam</field>
+			<field name="photo"></field>
+		</record>
+
+		<record id="demo_partner5" model="res.partner">
+			<field name="name">Darshan Parent</field>
+			<field name="ref">dar</field>
+		</record>
+
+		<!--Student Information-->
+		
+		<record id="demo_student_student_1" model="student.student">
+			<field name="year" ref= 'demo_academic_year_1'/>
+			<field name="class_id" ref= 'demo_standard_standard_1'/>
+			<field name="medium_id" ref= 'demo_standard_medium_1'/>
+			<field name="division_id" ref= 'demo_standard_division_1' />
+			<field name="roll_no">2</field>
+			<field name="name">Divyesh</field>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="middle">J</field>
+			<field name="last">Makwana</field>
+			<field name="gender">male</field>
+			<field name="date_of_birth">07/01/1988</field>
+			<field name="admission_date">07/01/2011</field>
+			<field name="state">done</field>
+		</record>
+
+		<record id="demo_student_student_2" model="student.student">
+			<field name="year" ref= 'demo_academic_year_1'/>
+			<field name="class_id" ref= 'demo_standard_standard_2'/>
+			<field name="medium_id" ref= 'demo_standard_medium_1'/>
+			<field name="division_id" ref= 'demo_standard_division_1' />
+			<field name="roll_no">4</field>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="name">Jalpesh</field>
+			<field name="middle">J</field>
+			<field name="last">Makwana</field>
+			<field name="gender">male</field>
+			<field name="date_of_birth">07/01/1988</field>
+			<field name="admission_date">07/01/2011</field>
+			<field name="state">done</field>
+		</record>
+
+		<record id="demo_student_student_3" model="student.student">
+			<field name="year" ref= 'demo_academic_year_1'/>
+			<field name="class_id" ref= 'demo_standard_standard_2'/>
+			<field name="medium_id" ref= 'demo_standard_medium_1'/>
+			<field name="division_id" ref= 'demo_standard_division_1' />
+			<field name="roll_no">3</field>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="name">Hitesh</field>
+			<field name="middle">B</field>
+			<field name="last">Makwana</field>
+			<field name="gender">male</field>
+			<field name="date_of_birth">07/01/1988</field>
+			<field name="admission_date">07/01/2011</field>
+			<field name="state">done</field>
+		</record>
+
+		<record id="demo_student_student_4" model="student.student">
+			<field name="year" ref= 'demo_academic_year_1'/>
+			<field name="class_id" ref= 'demo_standard_standard_1'/>
+			<field name="medium_id" ref= 'demo_standard_medium_1'/>
+			<field name="division_id" ref= 'demo_standard_division_1' />
+			<field name="roll_no">5</field>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="name">Samir</field>
+			<field name="middle">B</field>
+			<field name="last">Makwana</field>
+			<field name="gender">male</field>
+			<field name="date_of_birth">07/01/1988</field>
+			<field name="admission_date">07/01/2011</field>
+			<field name="state">done</field>
+		</record>
+
+		<record id="demo_student_student_5" model="student.student">
+			<field name="year" ref= 'demo_academic_year_1'/>
+			<field name="class_id" ref= 'demo_standard_standard_3'/>
+			<field name="medium_id" ref= 'demo_standard_medium_1'/>
+			<field name="division_id" ref= 'demo_standard_division_1' />
+			<field name="roll_no">1</field>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="name">Darshan</field>
+			<field name="middle">J</field>
+			<field name="last">Makwana</field>
+			<field name="gender">male</field>
+			<field name="date_of_birth">07/01/1988</field>
+			<field name="admission_date">07/01/2011</field>
+			<field name="state">done</field>
+		</record>
+
+	<!-- Student Address Information-->
+
+		<record id="demo_partner_address1" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner1'/>
+			<field name="type">default</field>
+			<field name="name">Divyesh1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">div@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+		<record id="demo_partner_address2" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner2'/>
+			<field name="type">invoice</field>
+			<field name="name">Jalpesh1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">jal@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+		<record id="demo_partner_address3" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner3'/>
+			<field name="type">delivery</field>
+			<field name="name">Hitesh1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">hit@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+		<record id="demo_partner_address4" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner4'/>
+			<field name="type">contact</field>
+			<field name="name">Samir1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">sam@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+		
+		<record id="demo_partner_address5" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner5'/>
+			<field name="type">other</field>
+			<field name="name">Darshan1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">dar@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+
+		<record id="demo_partner_address6" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner1'/>
+			<field name="student_id" ref= 'demo_student_student_1'/>
+			<field name="type">default</field>
+			<field name="name">Divyesh1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">div@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+		<record id="demo_partner_address7" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner2'/>
+			<field name="student_id" ref= 'demo_student_student_2'/>
+			<field name="type">invoice</field>
+			<field name="name">Jalpesh1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">jal@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+		<record id="demo_partner_address8" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner3'/>
+			<field name="student_id" ref= 'demo_student_student_3'/>
+			<field name="type">delivery</field>
+			<field name="name">Hitesh1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">hit@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+		<record id="demo_partner_address9" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner4'/>
+			<field name="student_id" ref= 'demo_student_student_4'/>
+			<field name="type">contact</field>
+			<field name="name">Samir1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">sam@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+		
+		<record id="demo_partner_address10" model="res.partner.address">
+			<field name="partner_id" ref= 'demo_partner5'/>
+			<field name="student_id" ref= 'demo_student_student_5'/>
+			<field name="type">other</field>
+			<field name="name">Darshan1</field>
+			<field name="street">street1</field>
+			<field name="street2">street2</field>
+			<field name="zip">jnd</field>
+			<field name="city">junagadh</field>
+			<field name="email">dar@tinyerp.com</field>
+			<field name="phone">989898</field>
+			<field name="mobile">9898989898</field>
+		</record>
+
+		<!--Teacher User Information-->
+		<record id="user_hda" model="res.users">
+        	<field name="name">Husen Sir</field>
+			<field name="user_email">hda@tinyerp.com</field>
+			<field name="login">hda</field>
+			<field name="password">hda123456</field>
+			<field eval="[(6,0,[ref('group_school_teacher')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="user_jvo" model="res.users">
+        	<field name="name">Jay Sir</field>
+			<field name="user_email">jvo@tinyerp.com</field>
+			<field name="login">jvo</field>
+			<field name="password">jvo123456</field>
+			<field eval="[(6,0,[ref('group_school_teacher')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="user_mga" model="res.users">
+        	<field name="name">Mantavya Sir</field>
+			<field name="user_email">mga@tinyerp.com</field>
+			<field name="login">mga</field>
+			<field name="password">mga123456</field>
+			<field eval="[(6,0,[ref('group_school_teacher')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="user_hmo" model="res.users">
+        	<field name="name">Harshad Sir</field>
+			<field name="user_email">hmo@tinyerp.com</field>
+			<field name="login">hmo</field>
+			<field name="password">hmo123456</field>
+			<field eval="[(6,0,[ref('group_school_teacher')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="user_gpa" model="res.users">
+        	<field name="name">Ganshym Sir</field>
+			<field name="user_email">gpa@tinyerp.com</field>
+			<field name="login">gpa</field>
+			<field name="password">gpa</field>
+			<field eval="[(6,0,[ref('group_school_teacher')])]" name="groups_id"/>
+    	</record>
+
+    	<!--Student User Information-->
+		<record id="base.user_divyesh" model="res.users">
+        	<field name="name">divyesh</field>
+			<field name="user_email">mdi@tinyerp.com</field>
+			<field name="login">mdi</field>
+			<field name="password">mdi</field>
+			<field eval="[(6,0,[ref('group_school_student')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_jalpesh" model="res.users">
+        	<field name="name">jalpesh</field>
+			<field name="user_email">jal@tinyerp.com</field>
+			<field name="login">jal</field>
+			<field name="password">jal</field>
+			<field eval="[(6,0,[ref('group_school_student')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_hitesh" model="res.users">
+        	<field name="name">hitesh</field>
+			<field name="user_email">hit@tinyerp.com</field>
+			<field name="login">hit</field>
+			<field name="password">hit</field>
+			<field eval="[(6,0,[ref('group_school_student')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_samir" model="res.users">
+        	<field name="name">samir</field>
+			<field name="user_email">sam@tinyerp.com</field>
+			<field name="login">sam</field>
+			<field name="password">sam</field>
+			<field eval="[(6,0,[ref('group_school_student')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_darshan" model="res.users">
+        	<field name="name">dar</field>
+			<field name="user_email">dar@tinyerp.com</field>
+			<field name="login">dar</field>
+			<field name="password">dar</field>
+			<field eval="[(6,0,[ref('group_school_student')])]" name="groups_id"/>
+    	</record>
+
+    	<!--Parent User Information-->
+		<record id="base.user_divyesh_parent" model="res.users">
+        	<field name="name">divyesh parent</field>
+			<field name="user_email">mdi@tinyerp.com</field>
+			<field name="login">mdip</field>
+			<field name="password">mdi123456</field>
+			<field eval="[(6,0,[ref('group_school_parent')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_jalpesh_parent" model="res.users">
+        	<field name="name">jalpesh parent</field>
+			<field name="user_email">jal@tinyerp.com</field>
+			<field name="login">jalp</field>
+			<field name="password">jal123456</field>
+			<field eval="[(6,0,[ref('group_school_parent')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_hitesh_parent" model="res.users">
+        	<field name="name">hitesh parent</field>
+			<field name="user_email">hit@tinyerp.com</field>
+			<field name="login">hitp</field>
+			<field name="password">hit123456</field>
+			<field eval="[(6,0,[ref('group_school_parent')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_samir_parent" model="res.users">
+        	<field name="name">samir parent</field>
+			<field name="user_email">sam@tinyerp.com</field>
+			<field name="login">samp</field>
+			<field name="password">sam123456</field>
+			<field eval="[(6,0,[ref('group_school_parent')])]" name="groups_id"/>
+    	</record>
+
+    	<record id="base.user_darshan_parent" model="res.users">
+        	<field name="name">darshan parent</field>
+			<field name="user_email">dar@tinyerp.com</field>
+			<field name="login">darp</field>
+			<field name="password">dar123456</field>
+			<field eval="[(6,0,[ref('group_school_parent')])]" name="groups_id"/>
+    	</record>
+
+		<!--Teacher Information-->
+		
+		<record id="demo_student_student_6" model="hr.employee">
+			<field name="name">HDA Sir</field>
+			<field name="gender">male</field>
+			<field name="user_id" ref="user_hda"/>
+		</record>
+
+		<record id="demo_student_student_7" model="hr.employee">
+			<field name="name">JVO sir</field>
+			<field name="gender">male</field>
+			<field name="user_id" ref="user_jvo"/>
+		</record>
+
+		<record id="demo_student_student_8" model="hr.employee">
+			<field name="name">MGA Sir</field>
+			<field name="gender">male</field>
+			<field name="user_id" ref="user_mga"/>
+		</record>
+
+		<record id="demo_student_student_9" model="hr.employee">
+			<field name="name">HMO Sir</field>
+			<field name="gender">male</field>
+			<field name="user_id" ref="user_hmo"/>
+		</record>
+
+		<record id="demo_student_student_10" model="hr.employee">
+			<field name="name">GPA Sir</field>
+			<field name="gender">male</field>
+			<field name="user_id" ref="user_gpa"/>
+		</record>
+
+		<!--School Standard Information-->
+		
+		<record id="demo_school_standard_1" model="school.standard">
+			<field name="standard_id" ref="demo_standard_standard_1"/>
+			<field name="division_id" ref="demo_standard_division_1"/>
+			<field name="medium_id" ref="demo_standard_medium_1"/>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="user_id" ref="base.user_root"/>
+		</record>
+
+		<record id="demo_school_standard_2" model="school.standard">
+			<field name="standard_id" ref="demo_standard_standard_2"/>
+			<field name="division_id" ref="demo_standard_division_1"/>
+			<field name="medium_id" ref="demo_standard_medium_1"/>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="user_id" ref="demo_student_student_6"/>
+		</record>
+
+		<record id="demo_school_standard_3" model="school.standard">
+			<field name="standard_id" ref="demo_standard_standard_3"/>
+			<field name="division_id" ref="demo_standard_division_1"/>
+			<field name="medium_id" ref="demo_standard_medium_1"/>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="user_id" ref="demo_student_student_7"/>
+		</record>
+		
+		<record id="demo_school_standard_4" model="school.standard">
+			<field name="standard_id" ref="demo_standard_standard_1"/>
+			<field name="division_id" ref="demo_standard_division_2"/>
+			<field name="medium_id" ref="demo_standard_medium_1"/>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="user_id" ref="demo_student_student_8"/>
+		</record>
+
+		<record id="demo_school_standard_5" model="school.standard">
+			<field name="standard_id" ref="demo_standard_standard_2"/>
+			<field name="division_id" ref="demo_standard_division_2"/>
+			<field name="medium_id" ref="demo_standard_medium_1"/>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="user_id" ref="demo_student_student_9"/>
+		</record>
+
+		<record id="demo_school_standard_6" model="school.standard">
+			<field name="standard_id" ref="demo_standard_standard_3"/>
+			<field name="division_id" ref="demo_standard_division_2"/>
+			<field name="medium_id" ref="demo_standard_medium_1"/>
+			<field name="school_id" ref="demo_school_school_1"/>
+			<field name="user_id" ref="demo_student_student_10"/>
+		</record>
+
+    </data>
+</openerp>

+ 651 - 0
demo/school_demo.xml

@@ -0,0 +1,651 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+        
+        <!--  School Information -->
+        <record id="demo_school_1" model="school.school">
+            <field name="name">West High School</field>
+            <field name="code">0672</field>
+            <field name="city">melbourne</field>
+        </record>
+        <record id="demo_school_2" model="school.school">
+            <field name="name">East High School</field>
+            <field name="code">0786</field>
+            <field name="city">Ontario</field>
+        </record>
+        <record id="demo_school_3" model="school.school">
+            <field name="name">Everwood High School</field>
+            <field name="code">0895</field>
+            <field name="city">London</field>
+        </record>
+        
+<!-- Student Grade Master -->
+        <record id="demo_student_grade_1" model="grade.master">
+            <field name="name">Grade System for Finals</field>
+        </record>
+        <record id="demo_student_grade_line_1" model="grade.line">
+            <field name="sequence">1</field>
+            <field name="grade">A+</field>
+            <field name="from_mark">90</field>
+            <field name="to_mark">100</field>
+            <field name="grade_id" ref="demo_student_grade_1"/>
+        </record>
+        <record id="demo_student_grade_line_2" model="grade.line">
+            <field name="sequence">2</field>
+            <field name="grade">A</field>
+            <field name="from_mark">80</field>
+            <field name="to_mark">89</field>
+            <field name="grade_id" ref="demo_student_grade_1"/>
+        </record>
+        <record id="demo_student_grade_line_3" model="grade.line">
+            <field name="sequence">3</field>
+            <field name="grade">A-</field>
+            <field name="from_mark">70</field>
+            <field name="to_mark">79</field>
+            <field name="grade_id" ref="demo_student_grade_1"/>
+        </record>
+        <record id="demo_student_grade_line_4" model="grade.line">
+            <field name="sequence">4</field>
+            <field name="grade">B+</field>
+            <field name="from_mark">60</field>
+            <field name="to_mark">69</field>
+            <field name="grade_id" ref="demo_student_grade_1"/>
+        </record>
+        <record id="demo_student_grade_line_5" model="grade.line">
+            <field name="sequence">5</field>
+            <field name="grade">B</field>
+            <field name="from_mark">50</field>
+            <field name="to_mark">59</field>
+            <field name="grade_id" ref="demo_student_grade_1"/>
+        </record>
+        <record id="demo_student_grade_line_6" model="grade.line">
+            <field name="sequence">6</field>
+            <field name="grade">B-</field>
+            <field name="from_mark">35</field>
+            <field name="to_mark">49</field>
+            <field name="grade_id" ref="demo_student_grade_1"/>
+        </record>
+        <record id="demo_student_grade_line_7" model="grade.line">
+            <field name="sequence">1</field>
+            <field name="grade">F</field>
+            <field name="from_mark">00</field>
+            <field name="to_mark">34</field>
+            <field name="grade_id" ref="demo_student_grade_1"/>
+        </record>
+
+        <!--Academic Year  Information-->
+        <record id="demo_academic_year_1" model="academic.year">
+                <field name="name">Academic Year Previous</field>
+                <field name="code">First</field>
+                <field name="sequence">1</field>
+                <field name="grade_id" ref="demo_student_grade_1"/>
+                <field eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-01-01 %H:%M')" name="date_start"/>
+                <field eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-12-31 %H:%M')" name="date_stop"/>
+        </record>
+        <record id="demo_academic_year_2" model="academic.year">
+               <field name="name">Academic Year Current</field>
+               <field name="code">Second</field>
+               <field name="sequence">2</field>
+               <field name="grade_id" ref="demo_student_grade_1"/>
+               <field eval="(DateTime.today()).strftime('%Y-01-01 %H:%M')" name="date_start"/>
+               <field eval="(DateTime.today()).strftime('%Y-12-31 %H:%M')" name="date_stop"/>
+        </record>
+        <record id="demo_academic_year_3" model="academic.year">
+               <field name="name">Academic Year Next</field>
+               <field name="code">Third</field>
+               <field name="sequence">3</field>
+               <field name="grade_id" ref="demo_student_grade_1"/>
+               <field eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-01-01 %H:%M')" name="date_start"/>
+               <field eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-12-31 %H:%M')" name="date_stop"/>
+        </record>
+
+        <!-- Acadamic Month -->
+        <record id="demo_academic_month_previous_1" model="academic.month">
+                <field name="name">January</field>
+                <field name="code">JAN</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-01-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-01-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_2" model="academic.month">
+                <field name="name">February</field>
+                <field name="code">FEB</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-02-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-02-28 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_3" model="academic.month">
+                <field name="name">March</field>
+                <field name="code">MAR</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-03-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-03-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_4" model="academic.month">
+                <field name="name">April</field>
+                <field name="code">APR</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-04-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-04-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_5" model="academic.month">
+                <field name="name">May</field>
+                <field name="code">MAY</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-05-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-05-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_6" model="academic.month">
+                <field name="name">June</field>
+                <field name="code">JUN</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-06-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-06-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_7" model="academic.month">
+                <field name="name">July</field>
+                <field name="code">JUL</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-07-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-07-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_8" model="academic.month">
+                <field name="name">August</field>
+                <field name="code">AUG</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-08-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-08-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_9" model="academic.month">
+                <field name="name">September</field>
+                <field name="code">SEP</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-09-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-09-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_10" model="academic.month">
+                <field name="name">October</field>
+                <field name="code">OCT</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-10-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-10-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_11" model="academic.month">
+                <field name="name">November</field>
+                <field name="code">NOV</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-11-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-11-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_previous_12" model="academic.month">
+                <field name="name">December</field>
+                <field name="code">DEC</field>
+                <field name="year_id" ref="school.demo_academic_year_1"/>
+                <field name="date_start" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-12-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() - relativedelta(years=1)).strftime('%Y-12-31 %H:%M')"/>
+       </record>
+        <record id="demo_academic_month_current_1" model="academic.month">
+                <field name="name">January</field>
+                <field name="code">JAN</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-01-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-01-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_2" model="academic.month">
+                <field name="name">February</field>
+                <field name="code">FEB</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-02-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-02-28 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_3" model="academic.month">
+                <field name="name">March</field>
+                <field name="code">MAR</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-03-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-03-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_4" model="academic.month">
+                <field name="name">April</field>
+                <field name="code">APR</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-04-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-04-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_5" model="academic.month">
+                <field name="name">May</field>
+                <field name="code">MAY</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-05-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-05-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_6" model="academic.month">
+                <field name="name">June</field>
+                <field name="code">JUN</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-06-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-06-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_7" model="academic.month">
+                <field name="name">July</field>
+                <field name="code">JUL</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-07-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-07-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_cur_8" model="academic.month">
+                <field name="name">August</field>
+                <field name="code">AUG</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-08-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-08-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_9" model="academic.month">
+                <field name="name">September</field>
+                <field name="code">SEP</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-09-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-09-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_10" model="academic.month">
+                <field name="name">October</field>
+                <field name="code">OCT</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-10-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-10-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_11" model="academic.month">
+                <field name="name">November</field>
+                <field name="code">NOV</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-11-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-11-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_current_12" model="academic.month">
+                <field name="name">December</field>
+                <field name="code">DEC</field>
+                <field name="year_id" ref="school.demo_academic_year_2"/>
+                <field name="date_start" eval="(DateTime.today()).strftime('%Y-12-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today()).strftime('%Y-12-31 %H:%M')"/>
+       </record>
+        <record id="demo_academic_month_next_1" model="academic.month">
+                <field name="name">January</field>
+                <field name="code">JAN</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-01-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-01-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_2" model="academic.month">
+                <field name="name">February</field>
+                <field name="code">FEB</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-02-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-02-28 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_3" model="academic.month">
+                <field name="name">March</field>
+                <field name="code">MAR</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-03-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-03-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_4" model="academic.month">
+                <field name="name">April</field>
+                <field name="code">APR</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-04-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-04-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_5" model="academic.month">
+                <field name="name">May</field>
+                <field name="code">MAY</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-05-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-05-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_6" model="academic.month">
+                <field name="name">June</field>
+                <field name="code">JUN</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-06-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-06-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_7" model="academic.month">
+                <field name="name">July</field>
+                <field name="code">JUL</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-07-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-07-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_8" model="academic.month">
+                <field name="name">August</field>
+                <field name="code">AUG</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-08-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-08-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_9" model="academic.month">
+                <field name="name">September</field>
+                <field name="code">SEP</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-09-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-09-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_10" model="academic.month">
+                <field name="name">October</field>
+                <field name="code">OCT</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-10-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-10-31 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_11" model="academic.month">
+                <field name="name">November</field>
+                <field name="code">NOV</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-11-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-11-30 %H:%M')"/>
+       </record>
+       <record id="demo_academic_month_next_12" model="academic.month">
+                <field name="name">December</field>
+                <field name="code">DEC</field>
+                <field name="year_id" ref="school.demo_academic_year_3"/>
+                <field name="date_start" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-12-01 %H:%M')"/>
+                <field name="date_stop" eval="(DateTime.today() + relativedelta(years=1)).strftime('%Y-12-31 %H:%M')"/>
+       </record>
+
+       <!--Standard Information-->
+       <record id="demo_standard_standard_1" model="standard.standard">
+              <field name="name">10th</field>
+              <field name="code">FRT</field>
+              <field name="sequence">1</field>
+       </record>
+       <record id="demo_standard_standard_2" model="standard.standard">
+              <field name="name">11th</field>
+              <field name="code">SCN</field>
+              <field name="sequence">2</field>
+       </record>
+       <record id="demo_standard_standard_3" model="standard.standard">
+              <field name="name">12th</field>
+              <field name="code">THR</field>
+              <field name="sequence">3</field>
+        </record>
+
+        <!--Standard Medium Information-->
+        
+        <record id="demo_standard_medium_1" model="standard.medium">
+            <field name="name">English</field>
+            <field name="code">ENG</field>
+            <field name="sequence">1</field>
+        </record>
+
+        <record id="demo_standard_medium_2" model="standard.medium">
+            <field name="name">French</field>
+            <field name="code">FRENCH</field>
+            <field name="sequence">2</field>
+        </record>
+
+        <record id="demo_standard_medium_3" model="standard.medium">
+            <field name="name">Urdu</field>
+            <field name="code">URDU</field>
+            <field name="sequence">3</field>
+        </record>
+
+        <!--Standard Division Information-->
+        
+        <record id="demo_standard_division_1" model="standard.division">
+            <field name="name">A</field>
+            <field name="code">A</field>
+            <field name="sequence">1</field>
+        </record>
+
+        <record id="demo_standard_division_2" model="standard.division">
+            <field name="name">B</field>
+            <field name="code">B</field>
+            <field name="sequence">2</field>
+        </record>
+
+        <!-- School Standard -->
+        <record id="demo_school_standard_1" model="school.standard">
+            <field name="standard_id" ref="demo_standard_standard_1"/>
+            <field name="division_id" ref="demo_standard_division_1"/>
+            <field name="medium_id" ref="demo_standard_medium_1"/>
+            <field name="school_id" ref="demo_school_1"/>
+        </record>
+        <record id="demo_school_standard_2" model="school.standard">
+            <field name="standard_id" ref="demo_standard_standard_2"/>
+            <field name="division_id" ref="demo_standard_division_2"/>
+            <field name="medium_id" ref="demo_standard_medium_2"/>
+            <field name="school_id" ref="demo_school_2"/>
+        </record>
+        <record id="demo_school_standard_3" model="school.standard">
+            <field name="standard_id" ref="demo_standard_standard_3"/>
+            <field name="division_id" ref="demo_standard_division_1"/>
+            <field name="medium_id" ref="demo_standard_medium_3"/>
+            <field name="school_id" ref="demo_school_3"/>
+        </record>
+                    
+        
+
+        <!--Subject Information-->
+        
+        <record id="demo_subject_subject_1" model="subject.subject">
+            <field name="name">Maths</field>
+            <field name="code">MAT</field>
+            <field name="maximum_marks">100</field>
+        </record>
+
+        <record id="demo_subject_subject_2" model="subject.subject">
+            <field name="name">Science</field>
+            <field name="code">SCN</field>
+            <field name="maximum_marks">100</field>
+        </record>
+
+        <record id="demo_subject_subject_3" model="subject.subject">
+            <field name="name">English</field>
+            <field name="code">ENG</field>
+            <field name="maximum_marks">100</field>
+        </record>
+
+        <record id="demo_subject_subject_4" model="subject.subject">
+            <field name="name">Social Science</field>
+            <field name="code">SOS</field>
+            <field name="maximum_marks">100</field>
+        </record>
+
+        <record id="demo_subject_subject_5" model="subject.subject">
+            <field name="name">Computer</field>
+            <field name="code">CMP</field>
+            <field name="maximum_marks">100</field>
+        </record>
+
+        <record id="demo_subject_subject_6" model="subject.subject">
+            <field name="name">Sport</field>
+            <field name="code">PET</field>
+            <field name="maximum_marks">100</field>
+        </record>
+
+        <!--  Subject elective -->
+        <record id="demo_elective_subject_1" model="subject.elective">
+            <field name="name">Sanskrit</field>
+        </record>
+        <record id="demo_elective_subject_2" model="subject.elective">
+            <field name="name">Computer</field>
+        </record>
+        <record id="demo_elective_subject_3" model="subject.elective">
+            <field name="name">Sport</field>
+        </record>
+        <record id="demo_elective_subject_4" model="subject.elective">
+            <field name="name">Music</field>
+        </record>
+        
+        <!-- Student Informations -->
+  
+          <record id="demo_student_student_1" model="student.student">
+            <field name="name">Mary</field>
+            <field name="middle">Daniel</field>
+            <field name="last">Richardson</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_1"/>
+            <field name="pid">2011/07</field>
+            <field name="date_of_birth">03/04/1996</field>
+            <field name="gender">female</field>
+            <field name="roll_no">1</field>
+            <field name="school_id" ref="demo_school_1"/>
+            <field name="standard_id" ref="demo_standard_standard_1"/>
+            <field name="division_id" ref="demo_standard_division_1"/>
+            <field name="medium_id" ref="demo_standard_medium_1"/>
+        </record>
+        <record id="demo_student_student_2" model="student.student">
+            <field name="name">William</field>
+            <field name="middle">Joseph</field>
+            <field name="last">Lee</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_2"/>
+            <field name="pid">2012/08</field>
+            <field name="date_of_birth">02/14/1995</field>
+            <field name="gender">male</field>
+            <field name="roll_no">1</field>
+            <field name="school_id" ref="demo_school_2"/>
+            <field name="standard_id" ref="demo_standard_standard_2"/>
+            <field name="division_id" ref="demo_standard_division_2"/>
+            <field name="medium_id" ref="demo_standard_medium_2"/>
+        </record>
+        <record id="demo_student_student_3" model="student.student">
+            <field name="name">Jacob</field>
+            <field name="middle">Caleb</field>
+            <field name="last">Clark</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_1"/>
+            <field name="pid">2013/09</field>
+            <field name="date_of_birth">09/24/1997</field>
+            <field name="gender">male</field>
+            <field name="roll_no">1</field>
+            <field name="school_id" ref="demo_school_3"/>
+            <field name="standard_id" ref="demo_standard_standard_3"/>
+            <field name="division_id" ref="demo_standard_division_2"/>
+            <field name="medium_id" ref="demo_standard_medium_3"/>
+        </record>
+        <record id="demo_student_student_4" model="student.student">
+            <field name="name">Maria</field>
+            <field name="middle">Samuel</field>
+            <field name="last">Snell</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_3"/>
+            <field name="pid">2013/10</field>
+            <field name="date_of_birth">05/26/1996</field>
+            <field name="gender">female</field>
+            <field name="roll_no">2</field>
+            <field name="school_id" ref="demo_school_1"/>
+            <field name="standard_id" ref="demo_standard_standard_1"/>
+            <field name="division_id" ref="demo_standard_division_1"/>
+            <field name="medium_id" ref="demo_standard_medium_1"/>
+        </record>
+        <record id="demo_student_student_5" model="student.student">
+            <field name="name">John</field>
+            <field name="middle">William</field>
+            <field name="last">Smith</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_1"/>
+            <field name="pid">2011/12</field>
+            <field name="date_of_birth">03/24/1995</field>
+            <field name="gender">male</field>
+            <field name="roll_no">2</field>
+            <field name="school_id" ref="demo_school_2"/>
+            <field name="standard_id" ref="demo_standard_standard_2"/>
+            <field name="division_id" ref="demo_standard_division_2"/>
+            <field name="medium_id" ref="demo_standard_medium_2"/>
+        </record>
+        <record id="demo_student_student_6" model="student.student">
+            <field name="name">Alexander</field>
+            <field name="middle">Robert</field>
+            <field name="last">Martin</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_2"/>
+            <field name="pid">2012/11</field>
+            <field name="date_of_birth">05/12/1998</field>
+            <field name="gender">male</field>
+            <field name="roll_no">2</field>
+            <field name="school_id" ref="demo_school_3"/>
+            <field name="standard_id" ref="demo_standard_standard_3"/>
+            <field name="division_id" ref="demo_standard_division_1"/>
+            <field name="medium_id" ref="demo_standard_medium_3"/>
+        </record>
+        <record id="demo_student_student_7" model="student.student">
+            <field name="name">Sarah</field>
+            <field name="middle">Isaac</field>
+            <field name="last">Elmer</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_2"/>
+            <field name="pid">2012/1</field>
+            <field name="date_of_birth">06/02/1996</field>
+            <field name="gender">female</field>
+            <field name="roll_no">3</field>
+            <field name="school_id" ref="demo_school_1"/>
+            <field name="standard_id" ref="demo_standard_standard_1"/>
+            <field name="division_id" ref="demo_standard_division_1"/>
+            <field name="medium_id" ref="demo_standard_medium_1"/>
+        </record>
+        <record id="demo_student_student_8" model="student.student">
+            <field name="name">Lucy</field>
+            <field name="middle">William</field>
+            <field name="last">Brown</field>
+            <field name="state">done</field>
+            <field name="year" ref="demo_academic_year_3"/>
+            <field name="pid">2013/2</field>
+            <field name="date_of_birth">06/06/1995</field>
+            <field name="gender">female</field>
+            <field name="roll_no">3</field>
+            <field name="school_id" ref="demo_school_2"/>
+            <field name="standard_id" ref="demo_standard_standard_2"/>
+            <field name="division_id" ref="demo_standard_division_2"/>
+            <field name="medium_id" ref="demo_standard_medium_2"/>
+        </record>
+                                
+        
+        <!-- Student cast -->
+        <record id="demo_student_cast_1" model="student.cast">
+            <field name="name">Hindu</field>
+        </record>
+        <record id="demo_student_cast_2" model="student.cast">
+            <field name="name">Muslim</field>
+        </record>
+        <record id="demo_student_cast_3" model="student.cast">
+            <field name="name">Christian</field>
+        </record>
+        <record id="demo_student_cast_4" model="student.cast">
+            <field name="name">Panjabi</field>
+        </record>
+        <record id="demo_student_cast_5" model="student.cast">
+            <field name="name">Parsi</field>
+        </record>
+         
+        <!-- Student Document Type --> 
+        <record id="demo_student_document_1" model="document.type">
+            <field name="doc_type">SSC Marksheet</field>
+        </record>
+        <record id="demo_student_document_2" model="document.type">
+            <field name="doc_type">HSC Marksheet</field>
+        </record>
+        <record id="demo_student_document_3" model="document.type">
+            <field name="doc_type">Gradution Marksheet</field>
+        </record>
+        <record id="demo_student_document_4" model="document.type">
+            <field name="doc_type">Degree certificate</field>
+        </record>
+        <record id="demo_student_document_5" model="document.type">
+            <field name="doc_type">Leving Certificate</field>
+        </record>
+        <record id="demo_student_document_6" model="document.type">
+            <field name="doc_type">Cast certificate</field>
+        </record>
+        <record id="demo_student_document_7" model="document.type">
+            <field name="doc_type">Other certificate</field>
+        </record>
+        
+        <!-- student.news -->
+        <record id="demo_student_news_desc_1" model="student.news">
+            <field name="subject">Education Information</field>
+            <field name="date">2013-07-15</field>
+        </record> 
+  </data>
+</openerp>

+ 28 - 0
doc/Change Log.txt

@@ -0,0 +1,28 @@
+===============================================================================
+ Version Change Log
+ Module: school
+===============================================================================
+Version 3.0 on 2014-04-02 by Pankaj Goyani
+    * Migrated Module into 8.0 with use api.
+
+Version 2.0 on 2014-09-09 by Murtuza Saleh
+    * Migrated Module.
+
+Version 1.4 on 2013-10-07 by Anu Patel
+    * Improved the elective subject functionality.
+    * Improved the button action of "Result" Button in student profile.
+    * Fixed the error faced while clicking the "Send Email" Button in News/Update form.
+
+Version 1.3 on 2013-10-04 by Anu Patel
+    * Added the functionality to manage History of previous standard of student.
+
+Version 1.2 on 2013-09-30 by Anu Patel
+    * Remove commented code.
+    
+Version 1.1 on 2013-09-30 by Sudhir Arya
+    * v7 Standard
+    
+Version 1.0 on 2013-09-19 by Anu Patel
+    * Added record rule in student.
+    * Added groups to menu "Parent details".
+    * Added groups in buttons like "Alumni,Terminale" in student.student

+ 17 - 0
images/.svn/all-wcprops

@@ -0,0 +1,17 @@
+K 25
+svn:wc:ra_dav:version-url
+V 36
+/svn/eduerp/!svn/ver/2/school/images
+END
+hover.png
+K 25
+svn:wc:ra_dav:version-url
+V 46
+/svn/eduerp/!svn/ver/2/school/images/hover.png
+END
+icon.png
+K 25
+svn:wc:ra_dav:version-url
+V 45
+/svn/eduerp/!svn/ver/2/school/images/icon.png
+END

+ 96 - 0
images/.svn/entries

@@ -0,0 +1,96 @@
+10
+
+dir
+25
+https://subversion.assembla.com/svn/eduerp/school/images
+https://subversion.assembla.com/svn/eduerp
+
+
+
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6df9b670-c5ec-4fb9-963b-ff4819e6ba42
+
+hover.png
+file
+
+
+
+
+2012-04-24T07:15:20.408586Z
+953c2c9bb661cafda6341d75eebec76c
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+13920
+
+icon.png
+file
+
+
+
+
+2012-04-24T07:15:20.408586Z
+f9f2f5dabc169256bad38a476bcff937
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+11567
+

+ 5 - 0
images/.svn/prop-base/hover.png.svn-base

@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END

+ 5 - 0
images/.svn/prop-base/icon.png.svn-base

@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END

BIN
images/.svn/text-base/hover.png.svn-base


BIN
images/.svn/text-base/icon.png.svn-base


BIN
images/hover.png


BIN
images/icon.png


+ 13 - 0
report_view.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        
+        <report id="report_student_student" 
+                string="Indentity Card"
+                model="student.student" 
+                report_type="qweb-pdf" 
+                file="school.identity_card"
+                name="school.identity_card" />
+
+    </data>
+</openerp>

+ 977 - 0
school.py

@@ -0,0 +1,977 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from openerp import models, fields, api
+import time
+import openerp
+from datetime import date
+from datetime import datetime
+from openerp.tools.translate import _
+from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, image_colorize
+from openerp.tools import image_resize_image_big
+from openerp.exceptions import except_orm, Warning as UserError
+
+
+class AcademicYear(models.Model):
+    ''' Defining an academic year '''
+
+    _name = "academic.year"
+    _description = "Academic Year"
+    _order = "sequence"
+
+    sequence = fields.Integer('Sequence', required=True,
+                              help="In which sequence order you want to \
+                                    see this year.")
+    name = fields.Char('Name', required=True, select=1,
+                       help='Name of  academic year')
+    code = fields.Char('Code', required=True, select=1,
+                       help='Code of academic year')
+    date_start = fields.Date('Start Date', required=True,
+                             help='Starting date of academic year')
+    date_stop = fields.Date('End Date', required=True,
+                            help='Ending of academic year')
+    month_ids = fields.One2many('academic.month', 'year_id', string='Months',
+                                help="related Academic months")
+    grade_id = fields.Many2one('grade.master', "Grade")
+    description = fields.Text('Description')
+
+    @api.model
+    def next_year(self, sequence):
+        year_ids = self.search([('sequence', '>', sequence)], order='id ASC',
+                               limit=1)
+        if year_ids:
+            return year_ids.id
+        return False
+
+    @api.multi
+    def name_get(self):
+        res = []
+        for acd_year_rec in self:
+            name = "[" + acd_year_rec['code'] + "]" + acd_year_rec['name']
+            res.append((acd_year_rec['id'], name))
+        return res
+
+    @api.constrains('date_start', 'date_stop')
+    def _check_academic_year(self):
+        obj_academic_ids = self.search([])
+        academic_list = []
+        for rec_academic in obj_academic_ids:
+            academic_list.append(rec_academic.id)
+        for current_academic_yr in self:
+            academic_list.remove(current_academic_yr.id)
+            data_academic_yr = self.browse(academic_list)
+            for old_ac in data_academic_yr:
+                if old_ac.date_start <= self.date_start <= old_ac.date_stop \
+                   or old_ac.date_start <= self.date_stop <= old_ac.date_stop:
+                    raise UserError(_('Error! You cannot define \
+                                     overlapping academic years.'))
+
+    @api.constrains('date_start', 'date_stop')
+    def _check_duration(self):
+        if self.date_stop and self.date_start:
+            if self.date_stop < self.date_start:
+                raise UserError(_('Error! The duration of the academic \
+                                year is invalid.'))
+
+
+class AcademicMonth(models.Model):
+    ''' Defining a month of an academic year '''
+    _name = "academic.month"
+    _description = "Academic Month"
+    _order = "date_start"
+
+    name = fields.Char('Name', required=True, help='Name of Academic month')
+    code = fields.Char('Code', required=True, help='Code of Academic month')
+    date_start = fields.Date('Start of Period', required=True,
+                             help='Starting of Academic month')
+    date_stop = fields.Date('End of Period', required=True,
+                            help='Ending of Academic month')
+    year_id = fields.Many2one('academic.year', 'Academic Year', required=True,
+                              help="Related Academic year ")
+    description = fields.Text('Description')
+
+    @api.constrains('date_start', 'date_stop')
+    def _check_duration(self):
+        if self.date_stop and self.date_start and \
+                self.date_stop < self.date_start:
+            raise UserError(_('Error ! The duration of the\
+                             Month(s) is/are invalid.'))
+
+    @api.constrains('year_id', 'date_start', 'date_stop')
+    def _check_year_limit(self):
+        if self.year_id and self.date_start and self.date_stop:
+            if self.year_id.date_stop < self.date_stop or \
+                self.year_id.date_stop < self.date_start or \
+                self.year_id.date_start > self.date_start or \
+                    self.year_id.date_start > self.date_stop:
+                raise UserError(_('Invalid Months ! Some months overlap or\
+                                the date period is not in the scope of \
+                                the academic year.'))
+
+
+class StandardMedium(models.Model):
+    ''' Defining a medium(English, Hindi, Gujarati) related to standard'''
+    _name = "standard.medium"
+    _description = "Standard Medium"
+    _order = "sequence"
+
+    sequence = fields.Integer('Sequence', required=True)
+    name = fields.Char('Name', required=True)
+    code = fields.Char('Code', required=True)
+    description = fields.Text('Description')
+
+
+class StandardDivision(models.Model):
+    ''' Defining a division(A, B, C) related to standard'''
+    _name = "standard.division"
+    _description = "Standard Division"
+    _order = "sequence"
+
+    sequence = fields.Integer('Sequence', required=True)
+    name = fields.Char('Name', required=True)
+    code = fields.Char('Code', required=True)
+    description = fields.Text('Description')
+
+
+class StandardStandard(models.Model):
+    ''' Defining Standard Information '''
+    _name = 'standard.standard'
+    _description = 'Standard Information'
+    _order = "sequence"
+
+    sequence = fields.Integer('Sequence', required=True)
+    name = fields.Char('Name', required=True)
+    code = fields.Char('Code', required=True)
+    description = fields.Text('Description')
+
+    @api.model
+    def next_standard(self, sequence):
+        stand_ids = self.search([('sequence', '>', sequence)], order='id ASC',
+                                limit=1)
+        if stand_ids:
+            return stand_ids.id
+        return False
+
+
+class SchoolStandard(models.Model):
+    ''' Defining a standard related to school '''
+    _name = 'school.standard'
+    _description = 'School Standards'
+    _rec_name = "school_id"
+
+    @api.one
+    @api.depends('standard_id')
+    def _compute_student(self):
+        self.student_ids = False
+        if self.standard_id:
+            stud_obj = self.env['student.student']
+            self.student_ids = stud_obj.search([('standard_id', '=',
+                                                 self.standard_id.id)])
+
+    @api.multi
+    def import_subject(self):
+        for im_ob in self:
+            import_sub_ids = self.search([('standard_id', '=',
+                                           int(im_ob.standard_id) - 1)])
+            val = [last.id for sub in import_sub_ids
+                   for last in sub.subject_ids]
+            self.write({'subject_ids': [(6, 0, val)]})
+        return True
+
+    school_id = fields.Many2one('school.school', 'School', required=True)
+    standard_id = fields.Many2one('standard.standard', 'Class', required=True)
+    division_id = fields.Many2one('standard.division', 'Division',
+                                  required=True)
+    medium_id = fields.Many2one('standard.medium', 'Medium', required=True)
+    subject_ids = fields.Many2many('subject.subject',
+                                   'subject_standards_rel', 'subject_id',
+                                   'standard_id', 'Subject')
+    user_id = fields.Many2one('hr.employee', string='Class Teacher')
+    student_ids = fields.One2many('student.student',
+                                  compute='_compute_student',
+                                  string='Student In Class')
+    color = fields.Integer('Color Index')
+    passing = fields.Integer('No Of ATKT', help="Allowed No of ATKTs")
+    cmp_id = fields.Many2one('res.company', related='school_id.company_id',
+                             string="Company Name", store=True)
+
+    @api.multi
+    def name_get(self):
+        res = []
+        for standard in self:
+            name = (standard.standard_id.name + "[" +
+                    standard.division_id.name + "]")
+            res.append((standard.id, name))
+        return res
+
+
+class SchoolSchool(models.Model):
+    ''' Defining School Information '''
+    _name = 'school.school'
+    _inherits = {'res.company': 'company_id'}
+    _description = 'School Information'
+    _rec_name = "com_name"
+
+    @api.model
+    def _lang_get(self):
+        languages = self.env['res.lang'].search([])
+        return [(language.code, language.name) for language in languages]
+
+    company_id = fields.Many2one('res.company', 'Company', ondelete="cascade",
+                                 required=True)
+    com_name = fields.Char(related='company_id.name', string="School Name",
+                           store=True)
+    code = fields.Char('Code', required=True, select=1)
+    standards = fields.One2many('school.standard', 'school_id',
+                                string='Standards')
+    lang = fields.Selection(_lang_get, string='Language', help="If the \
+    selected language is loaded in the system, all documents related to this \
+    partner will be printed in this language. If not, it will be english.")
+
+
+class SubjectSubject(models.Model):
+    '''Defining a subject '''
+    _name = "subject.subject"
+    _description = "Subjects"
+
+    name = fields.Char('Name', required=True)
+    code = fields.Char('Code', required=True)
+    maximum_marks = fields.Integer("Maximum marks")
+    minimum_marks = fields.Integer("Minimum marks")
+    weightage = fields.Integer("Weightage")
+    teacher_ids = fields.Many2many('hr.employee', 'subject_teacher_rel',
+                                   'subject_id', 'teacher_id', 'Teachers')
+    standard_ids = fields.Many2many('school.standard',
+                                    'subject_standards_rel', 'standard_id',
+                                    'subject_id', 'Standards')
+    standard_id = fields.Many2one('standard.standard', 'Class')
+    is_practical = fields.Boolean('Is Practical', help='Check this if \
+                                                    subject is practical.')
+    no_exam = fields.Boolean("No Exam", help='Check this if \
+                                              subject has no exam.')
+    elective_id = fields.Many2one('subject.elective')
+    student_ids = fields.Many2many('student.student',
+                                   'elective_subject_student_rel',
+                                   'subject_id', 'student_id', 'Students')
+    syllabus_ids = fields.One2many('subject.syllabus', 'subject_id',
+                                   string='Syllabus')
+
+
+class SubjectSyllabus(models.Model):
+    '''Defining a  syllabus'''
+    _name = "subject.syllabus"
+    _description = "Syllabus"
+    _rec_name = "duration"
+
+    subject_id = fields.Many2one('subject.subject', 'Subject')
+    duration = fields.Char("Duration")
+    topic = fields.Text("Topic")
+
+
+class SubjectElective(models.Model):
+    ''' Defining Subject Elective '''
+    _name = 'subject.elective'
+
+    name = fields.Char("Name")
+    subject_ids = fields.One2many('subject.subject', 'elective_id',
+                                  string='Elective Subjects')
+
+
+class StudentStudent(models.Model):
+    ''' Defining a student information '''
+    _name = 'student.student'
+    _table = "student_student"
+    _description = 'Student Information'
+    _inherits = {'res.users': 'user_id'}
+
+    @api.one
+    @api.depends('date_of_birth')
+    def _calc_age(self):
+        self.age = 0
+        if self.date_of_birth:
+            start = datetime.strptime(self.date_of_birth,
+                                      DEFAULT_SERVER_DATE_FORMAT)
+            end = datetime.strptime(time.strftime(DEFAULT_SERVER_DATE_FORMAT),
+                                    DEFAULT_SERVER_DATE_FORMAT)
+            self.age = ((end - start).days / 365)
+
+    @api.model
+    def create(self, vals):
+        if vals.get('pid', False):
+            vals['login'] = vals['pid']
+            vals['password'] = vals['pid']
+        else:
+            raise except_orm(_('Error!'), _('PID not valid, so record will \
+                                             not save.'))
+        result = super(StudentStudent, self).create(vals)
+        return result
+
+    @api.model
+    def _get_photo(self):
+        company = self._context.get('default_is_company', False)
+        return self._get_default_image(company)
+
+    @api.model
+    def _get_default_image(self, is_company, colorize=False):
+        avatar = openerp.modules.get_module_resource('base',
+                                                     'static/src/img',
+                                                     'avatar.png')
+        image = image_colorize(open(avatar).read())
+        return image_resize_image_big(image.encode('base64'))
+
+    user_id = fields.Many2one('res.users', string='User ID',
+                              ondelete="cascade", select=True, required=True)
+    student_name = fields.Char(related='user_id.name', string='Name',
+                               store=True, readonly=True)
+    pid = fields.Char('Student ID', required=True, default=lambda obj:
+                      obj.env['ir.sequence'].get('student.student'),
+                      help='Personal IDentification Number')
+    reg_code = fields.Char('Registration Code', help='Student \
+                                                      Registration Code')
+    student_code = fields.Char('Student Code')
+    contact_phone1 = fields.Char('Phone no.')
+    contact_mobile1 = fields.Char('Mobile no')
+    roll_no = fields.Integer('Roll No.', readonly=True)
+    # If windows system use this filed
+#    photo = fields.Binary('Photo')
+    # If ubuntu system use this filed
+    photo = fields.Binary('Photo', default=_get_photo)
+    year = fields.Many2one('academic.year', 'Academic Year', required=True,
+                           states={'done': [('readonly', True)]})
+    cast_id = fields.Many2one('student.cast', 'Religion')
+    admission_date = fields.Date('Admission Date', default=date.today())
+    middle = fields.Char('Middle Name', required=True,
+                         states={'done': [('readonly', True)]})
+    last = fields.Char('Surname', required=True, states={'done': [('readonly',
+                                                                   True)]})
+    gender = fields.Selection([('male', 'Male'),
+                               ('female', 'Female')], 'Gender',
+                              states={'done': [('readonly', True)]})
+    date_of_birth = fields.Date('Birthdate', required=True,
+                                states={'done': [('readonly', True)]})
+    mother_tongue = fields.Many2one('mother.toungue', "Mother Tongue")
+    age = fields.Integer(compute='_calc_age', string='Age', readonly=True)
+    maritual_status = fields.Selection([('unmarried', 'Unmarried'),
+                                        ('married', 'Married')],
+                                       'Maritual Status',
+                                       states={'done': [('readonly',
+                                                         True)]})
+    reference_ids = fields.One2many('student.reference', 'reference_id',
+                                    string='References',
+                                    states={'done': [('readonly', True)]})
+    previous_school_ids = fields.One2many('student.previous.school',
+                                          'previous_school_id',
+                                          string='Previous School Detail',
+                                          states={'done': [('readonly',
+                                                            True)]})
+    family_con_ids = fields.One2many('student.family.contact',
+                                     'family_contact_id',
+                                     string='Family Contact Detail',
+                                     states={'done': [('readonly', True)]})
+    doctor = fields.Char('Doctor Name', states={'done': [('readonly', True)]})
+    designation = fields.Char('Designation')
+    doctor_phone = fields.Char('Phone')
+    blood_group = fields.Char('Blood Group',)
+    height = fields.Float('Height')
+    weight = fields.Float('Weight')
+    eye = fields.Boolean('Eyes')
+    ear = fields.Boolean('Ears')
+    nose_throat = fields.Boolean('Nose & Throat')
+    respiratory = fields.Boolean('Respiratory')
+    cardiovascular = fields.Boolean('Cardiovascular')
+    neurological = fields.Boolean('Neurological')
+    muskoskeletal = fields.Boolean('Musculoskeletal')
+    dermatological = fields.Boolean('Dermatological')
+    blood_pressure = fields.Boolean('Blood Pressure')
+    remark = fields.Text('Remark', states={'done': [('readonly', True)]})
+    school_id = fields.Many2one('school.school', 'School',
+                                states={'done': [('readonly', True)]})
+    state = fields.Selection([('draft', 'Draft'),
+                              ('done', 'Done'),
+                              ('terminate', 'Terminate'),
+                              ('alumni', 'Alumni')], 'State',
+                             readonly=True, default='draft')
+    history_ids = fields.One2many('student.history', 'student_id',
+                                  string='History')
+    certificate_ids = fields.One2many('student.certificate', 'student_id',
+                                      string='Certificate')
+#    'attendance_ids': fields.one2many('attendance.sheet.line','name',
+#    'Attendance History',readonly=True)
+#    'exam_results_ids': fields.one2many('exam.result','student_id',
+#    'Exam History',readonly=True)
+#    'student_attachment_line': fields.one2many('student.attachment',
+#    'student_id','Attachment')
+    student_discipline_line = fields.One2many('student.descipline',
+                                              'student_id',
+                                              string='Descipline')
+    address_ids = fields.One2many('res.partner', 'student_id',
+                                  string='Contacts')
+    document = fields.One2many('student.document', 'doc_id',
+                               string='Documents')
+    description = fields.One2many('student.description', 'des_id',
+                                  string='Description')
+    student_id = fields.Many2one('student.student', 'name')
+#    contact_phone = fields.related('student_id','phone',type='char',
+# relation='student.student',string='Phone No')
+    contact_phone = fields.Char(related='student_id.phone', string='Phone No')
+#    contact_mobile = fields.related('student_id','mobile',type='char',
+# relation='student.student',string='Mobile No')
+    contact_mobile = fields.Char(related='student_id.mobile',
+                                 string='Mobile No')
+    student_id = fields.Many2one('student.student', 'Name')
+    contact_phone = fields.Char(related='student_id.phone', string='Phone No',
+                                readonly=True)
+    contact_mobile = fields.Char(related='student_id.mobile',
+                                 string='Mobile No', readonly=True)
+    contact_email = fields.Char(related='student_id.email', string='Email',
+                                readonly=True)
+    contact_website = fields.Char(related='student_id.website',
+                                  string='Website', readonly=True)
+    award_list = fields.One2many('student.award', 'award_list_id',
+                                 string='Award List')
+    student_status = fields.Selection(related='student_id.state',
+                                      string='Status', help="Show the \
+                                      Status Of Student", readonly=True)
+    stu_name = fields.Char(related='user_id.name', string='First Name',
+                           readonly=True)
+    Acadamic_year = fields.Char(related='year.name', string='Academic Year',
+                                help="Academic Year", readonly=True)
+    grn_number = fields.Many2one('student.grn', 'GR No.',
+                                 help="General reg number")
+    standard_id = fields.Many2one('standard.standard', 'Class')
+    division_id = fields.Many2one('standard.division', 'Division')
+    medium_id = fields.Many2one('standard.medium', 'Medium')
+    cmp_id = fields.Many2one('res.company', string="Company Name",
+                             related='school_id.company_id', store=True)
+
+    _sql_constraints = [('grn_unique', 'unique(grn_number)',
+                         'GRN Number must be unique!')]
+
+    @api.multi
+    def set_to_draft(self):
+        self.write({'state': 'draft'})
+        return True
+
+    @api.multi
+    def set_alumni(self):
+        self.write({'state': 'alumni'})
+        return True
+
+    @api.multi
+    def set_terminate(self):
+        self.write({'state': 'terminate'})
+        return True
+
+    @api.multi
+    def set_done(self):
+        self.write({'state': 'done'})
+        return True
+
+    @api.multi
+    def admission_draft(self):
+        self.write({'state': 'draft'})
+        return True
+
+    @api.multi
+    def admission_done(self):
+        school_stand_obj = self.env['school.standard']
+        for student_data in self:
+            if student_data.age <= 5:
+                raise except_orm(_('Warning'), _('The student is not \
+                                                 eligible. Age is not \
+                                                 valid.'))
+            standard_id = student_data.standard_id.id
+            school_stand_search_ids = school_stand_obj.search([('standard_id',
+                                                                '=',
+                                                                standard_id)])
+            if not school_stand_search_ids:
+                raise except_orm(_('Warning'), _('The standard is not \
+                                                 defined in a school'))
+            student_search_ids = self.search([('standard_id', '=',
+                                               student_data.standard_id.id)])
+            number = 1
+            for student in student_search_ids:
+                student.write({'roll_no': number})
+                number += 1
+            reg_code = self.env['ir.sequence'].get('student.registration')
+            registation_code = (str(student_data.school_id.state_id.name) +
+                                str('/') + str(student_data.school_id.city) +
+                                str('/') + str(student_data.school_id.name) +
+                                str('/') + str(reg_code))
+            stu_code = self.env['ir.sequence'].get('student.code')
+            student_code = (str(student_data.school_id.code) + str('/') +
+                            str(student_data.year.code) + str('/') +
+                            str(stu_code))
+        self.write({'state': 'done',
+                    'admission_date': time.strftime('%Y-%m-%d'),
+                    'student_code': student_code,
+                    'reg_code': registation_code})
+        return True
+
+
+class StudentGrn(models.Model):
+    _name = "student.grn"
+    _rec_name = "grn_no"
+
+    @api.one
+    def _grn_no(self):
+        for stud_grn in self:
+            grn_no1 = " "
+            grn_no2 = " "
+            grn_no1 = stud_grn['grn']
+            if stud_grn['prefix'] == 'static':
+                grn_no1 = stud_grn['static_prefix'] + stud_grn['grn']
+            elif stud_grn['prefix'] == 'school':
+                a = stud_grn.schoolprefix_id.code
+                grn_no1 = a + stud_grn['grn']
+            elif stud_grn['prefix'] == 'year':
+                grn_no1 = time.strftime('%Y') + stud_grn['grn']
+            elif stud_grn['prefix'] == 'month':
+                grn_no1 = time.strftime('%m') + stud_grn['grn']
+            grn_no2 = grn_no1
+            if stud_grn['postfix'] == 'static':
+                grn_no2 = grn_no1 + stud_grn['static_postfix']
+            elif stud_grn['postfix'] == 'school':
+                b = stud_grn.schoolpostfix_id.code
+                grn_no2 = grn_no1 + b
+            elif stud_grn['postfix'] == 'year':
+                grn_no2 = grn_no1 + time.strftime('%Y')
+            elif stud_grn['postfix'] == 'month':
+                grn_no2 = grn_no1 + time.strftime('%m')
+            self.grn_no = grn_no2
+
+    grn = fields.Char('GR no', help='General Reg Number', readonly=True,
+                      default=lambda obj:
+                      obj.env['ir.sequence'].get('student.grn'))
+    name = fields.Char('GRN Format Name', required=True)
+    prefix = fields.Selection([('school', 'School Name'),
+                               ('year', 'Year'), ('month', 'Month'),
+                               ('static', 'Static String')], 'Prefix')
+    schoolprefix_id = fields.Many2one('school.school',
+                                      'School Name for Prefix')
+    schoolpostfix_id = fields.Many2one('school.school',
+                                       'School Name for Suffix')
+    postfix = fields.Selection([('school', 'School Name'), ('year', 'Year'),
+                                ('month', 'Month'),
+                                ('static', 'Static String')], 'Suffix')
+    static_prefix = fields.Char('Static String for Prefix',)
+    static_postfix = fields.Char('Static String for Suffix')
+    grn_no = fields.Char(compute='_grn_no', string='Generated GR No')
+
+
+class MotherTongue(models.Model):
+    _name = 'mother.toungue'
+
+    name = fields.Char("Mother Tongue")
+
+
+class StudentAward(models.Model):
+    _name = 'student.award'
+
+    award_list_id = fields.Many2one('student.student', 'Student')
+    name = fields.Char('Award Name')
+    description = fields.Char('Description')
+
+
+class AttendanceType(models.Model):
+    _name = "attendance.type"
+    _description = "School Type"
+
+    name = fields.Char('Name', required=True)
+    code = fields.Char('Code', required=True)
+
+
+class StudentDocument(models.Model):
+    _name = 'student.document'
+    _rec_name = "doc_type"
+
+    doc_id = fields.Many2one('student.student', 'Student')
+    file_no = fields.Char('File No', readonly="1", default=lambda obj:
+                          obj.env['ir.sequence'].get('student.document'))
+    submited_date = fields.Date('Submitted Date')
+    doc_type = fields.Many2one('document.type', 'Document Type',
+                               required=True)
+    file_name = fields.Char('File Name',)
+    return_date = fields.Date('Return Date')
+    new_datas = fields.Binary('Attachments')
+
+
+class DocumentType(models.Model):
+    ''' Defining a Document Type(SSC,Leaving)'''
+    _name = "document.type"
+    _description = "Document Type"
+    _rec_name = "doc_type"
+    _order = "seq_no"
+
+    seq_no = fields.Char('Sequence', readonly=True, default=lambda obj:
+                         obj.env['ir.sequence'].get('document.type'))
+    doc_type = fields.Char('Document Type', required=True)
+
+
+class StudentDescription(models.Model):
+    ''' Defining a Student Description'''
+    _name = 'student.description'
+
+    des_id = fields.Many2one('student.student', 'Description')
+    name = fields.Char('Name')
+    description = fields.Char('Description')
+
+
+class StudentDescipline(models.Model):
+    _name = 'student.descipline'
+
+    student_id = fields.Many2one('student.student', 'Student')
+    teacher_id = fields.Many2one('hr.employee', 'Teacher')
+    date = fields.Date('Date')
+    class_id = fields.Many2one('standard.standard', 'Class')
+    note = fields.Text('Note')
+    action_taken = fields.Text('Action Taken')
+
+
+class StudentHistory(models.Model):
+    _name = "student.history"
+
+    student_id = fields.Many2one('student.student', 'Student')
+    academice_year_id = fields.Many2one('academic.year', 'Academic Year',
+                                        required=True)
+    standard_id = fields.Many2one('school.standard', 'Standard',
+                                  required=True)
+    percentage = fields.Float("Percentage", readonly=True)
+    result = fields.Char(string='Result', readonly=True, store=True)
+
+
+class StudentCertificate(models.Model):
+    _name = "student.certificate"
+
+    student_id = fields.Many2one('student.student', 'Student')
+    description = fields.Char('Description')
+    certi = fields.Binary('Certificate', required=True)
+
+
+class HrEmployee(models.Model):
+    ''' Defining a teacher information '''
+    _name = 'hr.employee'
+    _inherit = 'hr.employee'
+    _description = 'Teacher Information'
+
+    @api.one
+    def _compute_subject(self):
+        ''' This function will automatically computes the subjects related \
+                                                   to particular teacher.'''
+        subject_obj = self.env['subject.subject']
+        subject_ids = subject_obj.search([('teacher_ids', '=', self.id)])
+        sub_list = []
+        for sub_rec in subject_ids:
+            sub_list.append(sub_rec.id)
+        self.subject_ids = sub_list
+
+    subject_ids = fields.Many2many('subject.subject', 'hr_employee_rel',
+                                   compute='_compute_subject',
+                                   string='Subjects')
+
+
+class ResPartner(models.Model):
+    '''Defining a address information '''
+    _inherit = 'res.partner'
+    _description = 'Address Information'
+
+    student_id = fields.Many2one('student.student', 'Student')
+
+
+class StudentReference(models.Model):
+    ''' Defining a student reference information '''
+    _name = "student.reference"
+    _description = "Student Reference"
+
+    reference_id = fields.Many2one('student.student', 'Student')
+    name = fields.Char('First Name', required=True)
+    middle = fields.Char('Middle Name', required=True)
+    last = fields.Char('Surname', required=True)
+    designation = fields.Char('Designation', required=True)
+    phone = fields.Char('Phone', required=True)
+    gender = fields.Selection([('male', 'Male'), ('female', 'Female')],
+                              'Gender')
+
+
+class StudentPreviousSchool(models.Model):
+    ''' Defining a student previous school information '''
+    _name = "student.previous.school"
+    _description = "Student Previous School"
+
+    previous_school_id = fields.Many2one('student.student', 'Student')
+    name = fields.Char('Name', required=True)
+    registration_no = fields.Char('Registration No.', required=True)
+    admission_date = fields.Date('Admission Date')
+    exit_date = fields.Date('Exit Date')
+    course_id = fields.Many2one('standard.standard', 'Course', required=True)
+    add_sub = fields.One2many('academic.subject', 'add_sub_id',
+                              string='Add Subjects')
+
+
+class AcademicSubject(models.Model):
+    ''' Defining a student previous school information '''
+    _name = "academic.subject"
+    _description = "Student Previous School"
+
+    add_sub_id = fields.Many2one('student.previous.school', 'Add Subjects',
+                                 invisible=True)
+    name = fields.Char('Name', required=True)
+    maximum_marks = fields.Integer("Maximum marks")
+    minimum_marks = fields.Integer("Minimum marks")
+
+
+class StudentFamilyContact(models.Model):
+    ''' Defining a student emergency contact information '''
+    _name = "student.family.contact"
+    _description = "Student Family Contact"
+
+    family_contact_id = fields.Many2one('student.student', string='Student')
+    rel_name = fields.Selection([('exist', 'Link to Existing Student'),
+                                 ('new', 'Create New Relative Name')],
+                                'Related Student', help="Select Name",
+                                required=True)
+    user_id = fields.Many2one('res.users', string='User ID',
+                              ondelete="cascade", select=True, required=True)
+    stu_name = fields.Char(related='user_id.name', string='Name',
+                           help="Select Student From Existing List")
+    name = fields.Char('Name')
+    relation = fields.Many2one('student.relation.master', string='Relation',
+                               required=True)
+    phone = fields.Char('Phone', required=True)
+    email = fields.Char('E-Mail')
+
+
+class StudentRelationMaster(models.Model):
+    ''' Student Relation Information '''
+    _name = "student.relation.master"
+    _description = "Student Relation Master"
+
+    name = fields.Char('Name', required=True, help="Enter Relation name")
+    seq_no = fields.Integer('Sequence')
+
+
+class GradeMaster(models.Model):
+    _name = 'grade.master'
+
+    name = fields.Char('Grade', select=1, required=True)
+    grade_ids = fields.One2many('grade.line', 'grade_id', string='Grade Name')
+
+
+class GradeLine(models.Model):
+    _name = 'grade.line'
+
+    from_mark = fields.Integer("From Marks", required=True, help="The grade \
+                                                will starts from this marks.")
+    to_mark = fields.Integer('To Marks', required=True, help="The grade will\
+                                                        ends to this marks.")
+    grade = fields.Char('Grade', required=True, help="Grade")
+    sequence = fields.Integer('Sequence', help="Sequence order of the grade.")
+    fail = fields.Boolean("Fail", help="If fail field is set to True, it will\
+                                        allow you to set the grade as fail.")
+    grade_id = fields.Many2one("grade.master", 'Grade')
+    name = fields.Char('Name')
+
+
+class StudentNews(models.Model):
+    _name = 'student.news'
+    _description = 'Student News'
+    _rec_name = 'subject'
+
+    subject = fields.Char('Subject', required=True, help="Subject \
+                                                     of the news.")
+    description = fields.Text('Description', help="Description")
+    date = fields.Datetime('Expiry Date', help="Expiry date of the news.")
+    user_ids = fields.Many2many('res.users', 'user_news_rel', 'id',
+                                'user_ids', 'User News', help="Name to whom \
+                                this news is related.")
+    color = fields.Integer('Color Index', default=0)
+
+#    @api.v7
+#    def news_update(self, cr, uid, ids, context = None):
+#        emp_obj = self.pool.get("hr.employee")
+#        obj_mail_server = self.pool.get('ir.mail_server')
+#    mail_server_ids = obj_mail_server.search(cr, uid, [], context=context)
+#        if not mail_server_ids:
+#            raise osv.except_osv(_('Mail Error'), _('No mail outgoing mail\
+#                                                     server specified!'))
+#        mail_server_record = obj_mail_server.browse(cr, uid,
+#         mail_server_ids[0])
+#        email_list = []
+#        for news in self.browse(cr, uid, ids, context):
+#            if news.user_ids:
+#                for user in news.user_ids:
+#                    if user.email:
+#                        email_list.append(user.email)
+#                if not email_list:
+#                    raise osv.except_osv(_('User Email Configuration '),
+#                        _("Email not found in users !"))
+#            else:
+#                emp_ids = emp_obj.search(cr, uid, [], context = context)
+#                for employee in emp_obj.browse(cr, uid,emp_ids,
+#                                                context=context ):
+#                    if employee.work_email:
+#                        email_list.append(employee.work_email)
+#                    elif employee.user_id and employee.user_id.email:
+#                        email_list.append(employee.user_id.email)
+#                if not email_list:
+#              raise osv.except_osv(_('Mail Error' ), _("Email not defined!"))
+#            rec_date = fields.Datetime.context_timestamp(cr, uid,
+#            datetime.strptime(news.date, DEFAULT_SERVER_DATETIME_FORMAT),
+#            context=context)
+#            body =  'Hi,<br/><br/> \
+#                This is a news update from <b>%s</b> posted at %s<br/><br/>\
+#                %s <br/><br/>\
+#                Thank you.' % (cr.dbname,
+#                  rec_date.strftime('%d-%m-%Y %H:%M:%S'), news.description )
+#            message  = obj_mail_server.build_email(
+#                            email_from=mail_server_record.smtp_user,
+#                            email_to=email_list,
+#                            subject='Notification for news update.',
+#                            body=body,
+#                            body_alternative=body,
+#                            email_cc=None,
+#                            email_bcc=None,
+#                            reply_to=mail_server_record.smtp_user,
+#                            attachments=None,
+#                            references = None,
+#                            object_id=None,
+#                            subtype='html', #It can be plain or html
+#                            subtype_alternative=None,
+#                            headers=None)
+#            obj_mail_server.send_email(cr, uid, message=message,
+#                    mail_server_id=mail_server_ids[0], context=context)
+#        return True
+
+    @api.multi
+    def news_update(self):
+        emp_obj = self.env['hr.employee']
+        mail_server = self.env['ir.mail_server']
+        mail_server_ids = mail_server.search([])
+        if not mail_server_ids:
+            raise except_orm(_('Mail Error'), _('No mail outgoing mail \
+                                                 server specified!'))
+        server_rec = mail_server_ids[0]
+        email_list = []
+        for news in self:
+            if news.user_ids:
+                for user in news.user_ids:
+                    if user.email:
+                        email_list.append(user.email)
+                if not email_list:
+                    raise except_orm(_('User Email Configuration '),
+                                     _("Email not found in users !"))
+            else:
+                for employee in emp_obj.search([]):
+                    if employee.work_email:
+                        email_list.append(employee.work_email)
+                    elif employee.user_id and employee.user_id.email:
+                        email_list.append(employee.user_id.email)
+                if not email_list:
+                    raise except_orm(_('Mail Error'), _("Email not defined!"))
+# rec_date = fields.datetime.context_timestamp(datetime.strptime(news.date,
+# DEFAULT_SERVER_DATETIME_FORMAT))
+            t = datetime.strptime(news.date, '%Y-%m-%d %H:%M:%S')
+            body = 'Hi,<br/><br/> \
+                This is a news update from <b>%s</b> posted at %s<br/><br/>\
+                %s <br/><br/>\
+                Thank you.' % (self._cr.dbname,
+                               t.strftime('%d-%m-%Y %H:%M:%S'),
+                               news.description)
+            message = mail_server.build_email(email_from=server_rec.smtp_user,
+                                              email_to=email_list,
+                                              subject='Notification for\
+                                              news update.',
+                                              body=body,
+                                              body_alternative=body,
+                                              email_cc=None,
+                                              email_bcc=None,
+                                              reply_to=server_rec.smtp_user,
+                                              attachments=None,
+                                              references=None,
+                                              object_id=None,
+                                              subtype='html',
+                                              subtype_alternative=None,
+                                              headers=None)
+            mail_server.send_email(message=message,
+                                   mail_server_id=mail_server_ids[0].id)
+        return True
+
+
+class StudentReminder(models.Model):
+    _name = 'student.reminder'
+
+    stu_id = fields.Many2one('student.student', ' Student Name',
+                             required=True)
+    name = fields.Char('Title')
+    date = fields.Date('Date')
+    description = fields.Text('Description')
+    color = fields.Integer('Color Index', default=0)
+
+
+class StudentCast(models.Model):
+    _name = "student.cast"
+
+    name = fields.Char("Name", required=True)
+
+
+class ResUsers(models.Model):
+    _inherit = 'res.users'
+
+    @api.model
+    def create(self, vals):
+        vals.update({'employee_ids': False})
+        return super(ResUsers, self).create(vals)
+
+
+class EmailTemplate(models.Model):
+    _inherit = "email.template"
+
+    def generate_email(self, cr, uid, template_id, res_id, context=None):
+        if context is None:
+            context = {}
+        ret = super(EmailTemplate,
+                    self).generate_email(cr, uid,
+                                         template_id,
+                                         res_id, context=context)
+        body_text = context.get('body_text', False)
+        subject = context.get('subject', False)
+        email_to = context.get('email_to', False)
+        if (body_text or subject or email_to):
+            ret['body_text'] = body_text
+            ret['subject'] = subject
+            ret['email_to'] = email_to
+        return ret
+
+#    @api.multi
+#    def generate_email(self, template_id, res_id):
+#        if self._context is None:
+#            self._context = {}
+#        ret = super(EmailTemplate, self).generate_email(self._cr, self._uid,
+#                                                        template_id, res_id,
+#                                                        context=self._context)
+#        if self._context.get('body_text', False) or \
+#                self._context.get('subject', False) or \
+#                self._context.get('email_to', False):
+#            ret['body_text'] = self._context['body_text']
+#            ret['subject'] = self._context['subject']
+#            ret['email_to'] = self._context['email_to']
+#        return ret

BIN
school.pyc


+ 2135 - 0
school_view.xml

@@ -0,0 +1,2135 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Student Form View1 -->
+        <record model="ir.ui.view" id="view_student_student_form_1">
+            <field name="name">student.student.form.1</field>
+            <field name="model">student.student</field>
+            <field name="arch" type="xml">
+                <form string="Student Information">
+                    <sheet style="width: 10%%,height:10%%">
+                        <separator string="Personal Information" />
+                        <field name="photo" widget='image' class="oe_avatar oe_left"
+                            options='{"size": [110, 110]}'/>
+                        <div class="oe_title">
+                            <field name="pid" invisible="1" />
+                            <field name="reg_code" readonly="1" />
+                            <!-- <field name="grn_number" placeholder="General Reg No." / -->
+                            <field name="name" placeholder="First Name" nolabel="1" />
+                            <field name="middle" placeholder="Middle Name" nolabel="1"/>
+                            <field name="last" placeholder="Last Name" nolabel="1"/>
+                        </div>
+                        <div class="oe_right oe_button_box" name="buttons">
+                        </div>
+                        <group col="4">
+                            <group col="2">
+                                <separator string="Student Information" colspan="4"/>
+                                <field name="student_code" readonly="1"/>
+                                <field name="roll_no" help="Roll number of Student"/>
+                                <field name="year" placeholder="Year" help="Academic year of Student"/>
+                                <field name="school_id" widget="selection" help="School of Student"/>
+                            </group>
+                            <group col="2">
+                                <separator string="Standard Information" colspan="4" />
+                                <field name="standard_id" placeholder="Standard" widget="selection"/>
+                                <field name="division_id" placeholder="Division" widget="selection"/>
+                                <field name="medium_id" placeholder="Medium" widget="selection"/>
+                            </group>
+                        </group>
+                        <group col="4" colspan="4">
+                            <group>
+                                <label for="street" string="Address"/>
+                                <div>
+                                    <field name="street" placeholder="Street..."/>
+                                    <field name="street2" placeholder="Street2..."/>
+                                    <field name="country_id" placeholder="Country" class="oe_no_button"
+                                        options='{"no_open": true}'/>
+                                    <field name="state_id" domain="[('country_id','=',country_id)]"
+                                        required="1" placeholder="State" options='{"no_open": true}'/>
+                                    <field name="city" placeholder="City" required="1"/>
+                                </div>
+                            </group>
+                            <group>
+                                <field name="phone" placeholder="Phone Number"/>
+                                <field name="mobile" placeholder="Mobile Number"/>
+                                <field name="email" placeholder="Email Address" String="Email"/>
+                                <field name="website" widget="url" placeholder="e.g. www.serpentcs.com"/>
+                            </group>
+                        </group>
+                        <notebook colspan="4">
+                            <page string="General">
+                                <group col="4">
+                                    <group colspan="2" col="4">
+                                        <field name="cast_id" />
+                                        <field name="date_of_birth" widget="date" placeholder="Birthdate"/>
+                                        <field name="gender"/>
+                                        <field name="age"/>
+                                        <field name="mother_tongue"/>
+                                        <field name="admission_date" widget="date" placeholder="Admission Date"/>
+                                        <field name="maritual_status"/>
+                                        <newline/>
+                                        <separator string="Emergency Contact Details"
+                                            colspan="4"/>
+                                        <newline />
+                                        <group colspan="4" col="4">
+                                            <field name="contact_phone1"/>
+                                            <field name="contact_mobile1"/>
+                                        </group>
+                                    </group>
+                                </group>
+                            </page>
+                            <page string="References">
+                                <field name="reference_ids" nolabel="1" colspan="4">
+                                    <tree string="Reference">
+                                        <field name="name"/>
+                                        <field name="middle"/>
+                                        <field name="last"/>
+                                        <field name="designation"/>
+                                        <field name="phone"/>
+                                        <field name="gender"/>
+                                    </tree>
+                                    <form string="Reference">
+                                        <group col="4" colspan="4">
+                                            <field name="name" placeholder="First Name"/>
+                                            <field name="gender"/>
+                                            <field name="middle" placeholder="Middle Name"/>
+                                            <field name="designation" placeholder="Designation"/>
+                                            <field name="last" placeholder="Last Name"/>
+                                            <field name="phone" placeholder="Phone Number"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Previous School">
+                                <field name="previous_school_ids" nolabel="1" colspan="4">
+                                    <tree string="Previous School Details">
+
+                                        <field name="name"/>
+                                        <field name="registration_no"/>
+                                        <field name="admission_date"/>
+                                        <field name="exit_date"/>
+                                        <field name="course_id"/>
+
+                                    </tree>
+                                    <form string="Previous School Details" >
+                                        <separator string="Previous School Details"/>
+                                        <group col="4" colspan="4">
+                                            <field name="name" placeholder="School Name"/>
+                                            <field name="registration_no" placeholder="Registration No"/>
+                                            <field name="admission_date"/>
+                                            <field name="exit_date"/>
+                                            <field name="course_id"/>
+                                            <newline />
+                                            <field name="add_sub" colspan="4"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Award Info">
+                                <field name="award_list" nolabel="1" colspan="4">
+                                    <tree string="Reference">
+                                        <field name="name"/>
+                                        <field name="description"/>
+                                    </tree>
+                                    <form string="Reference">
+                                        <group col="4" colspan="4">
+                                            <field name="name"/>
+                                            <field name="description"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Family Info">
+                                <field name="family_con_ids" nolabel="1" colspan="4">
+                                    <form string="Family Contact Details">
+                                        <group col="4">
+                                            <group col="2">
+                                                <separator colspan="2"/>
+                                                <field name='rel_name'/>
+                                                <field name='stu_name' placeholder="Create or Select Name"
+                                                    attrs="{'invisible':[('rel_name','!=','exist')]}"/>
+                                                <field name='name' placeholder="Name"
+                                                    attrs="{'invisible':[('rel_name','!=','new')]}"/>
+                                                <field name='relation' placeholder="Enter or select Relation"/>
+                                            </group>
+                                            <group col="2">
+                                                <separator colspan="2" />
+                                                <field name='phone' placeholder="Phone Number"/>
+                                                <field name='email' placeholder="Email ID"/>
+                                            </group>
+                                        </group>
+                                    </form>
+                                    <tree string="Family Contact Details">
+                                        <field name='stu_name' string="Existing Student"/>
+                                        <field name='name' string="New Name"/>
+                                        <field name="relation"/>
+                                        <field name="phone"/>
+                                    </tree>
+                                </field>
+                            </page>
+                            <page string="Medical">
+                                <group col="4">
+                                    <group col="2">
+                                        <separator string="Doctor Information" colspan="4"/>
+                                        <field name="designation" placeholder="Doctor Designation"/>
+                                        <field name="doctor_phone" placeholder="Doctor's Contact No"/>
+                                    </group>
+                                    <group col="2">
+                                        <separator string="Physical Information" colspan="4"/>
+                                        <field name="blood_group" placeholder="e.g.B+,Ab+"/>
+                                        <field name="height"/>
+                                        <field name="weight"/>
+                                    </group>
+                                </group>
+                                <separator string="Does the applicant have any Disabilities?"
+                                    colspan="4" />
+                                <group col="6" colspan="4">
+                                    <field name="eye"/>
+                                    <field name="ear"/>
+                                    <field name="nose_throat"/>
+                                    <field name="respiratory"/>
+                                    <field name="cardiovascular"/>
+                                    <field name="neurological"/>
+                                    <field name="muskoskeletal"/>
+                                    <field name="dermatological"/>
+                                    <field name="blood_pressure"/>
+                                </group>
+                                <separator string="Notes" colspan="4"/>
+                                <group col="6" colspan="4">
+                                    <field name="comment" placeholder="Notes About Medical.."
+                                        nolabel="1"/>
+                                </group>
+                            </page>
+                            <page string="Certificates">
+                                <field name="certificate_ids" nolabel="1" colspan="4">
+                                    <form string="Certificate">
+                                        <group col="4">
+                                            <field name="description" placeholder="Description About Certificate"/>
+                                            <field name="certi"/>
+                                        </group>
+                                    </form>
+                                    <tree string="Certifaicate">
+                                        <field name="description"/>
+                                    </tree>
+                                </field>
+                            </page>
+                            <page string="Remarks">
+                                <field name="description" nolabel="1" colspan="4">
+                                    <form string="Extra Details">
+                                        <group col="4" colspan="2">
+                                            <field name="name" placeholder="Field Name"/>
+                                            <field name="description" placeholder="Description"/>
+                                        </group>
+                                    </form>
+                                    <tree string="Remarks">
+                                        <field name="name"/>
+                                        <field name="description"/>
+                                    </tree>
+                                </field>
+                            </page>
+                            <page string="History"
+                                groups="school.group_school_administration,school.group_school_teacher,school.group_school_parent,school.group_school_student">
+                                <field name="history_ids" nolabel="1" colspan="4"
+                                    readonly="1">
+                                    <tree string="History">
+                                        <field name="academice_year_id"/>
+                                        <field name="standard_id"/>
+                                        <field name="percentage"/>
+                                        <field name="result"/>
+                                    </tree>
+                                    <form string="History">
+                                        <group col="4" colspan="4">
+                                            <field name="academice_year_id" placeholder="Acadamic Year"/>
+                                            <field name="standard_id" placeholder="Select or Create Standard"/>
+                                            <field name="percentage"/>
+                                            <field name="result"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                        </notebook>
+                        <field name="state" invisible="1"/>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+        
+        <!-- Record Rule for student profile info for Student -->
+        <record id="student_rule_student_profile_record" model="ir.rule">
+            <field name="name">Personal Student Profile Record</field>
+            <field ref="model_student_student" name="model_id" />
+            <field eval="1" name="global" />
+            <field name="domain_force">[('user_id','=',user.id)]</field>
+            <field name="groups" eval="[(4, ref('school.group_school_student'))]" />
+        </record>
+
+        <!-- Student Information Tree View -->
+        <record model="ir.ui.view" id="view_student_student_tree_1">
+            <field name="name">student.student.tree.1</field>
+            <field name="model">student.student</field>
+            <field name="arch" type="xml">
+                <tree string="Student Information">
+                    <field name="pid"/>
+                    <field name="name"/>
+                    <field name="student_name" invisible="1"/>
+                    <field name="year" widget="selection"/>
+                    <field name="admission_date"/>
+                    <field name="gender"/>
+                    <field name="state"/>
+                    <field name="school_id"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Student Information Search View -->
+        <record model="ir.ui.view" id="view_student_student_search_1">
+            <field name="name">student.student.search.1</field>
+            <field name="model">student.student</field>
+            <field name="arch" type="xml">
+                <search string="Student Information">
+                    <group col="10" colspan="4">
+                         <field name="pid"/>
+                         <field name="student_name" invisible="1"/>
+                         <field name="year"/>
+                         <field name="gender"/>
+                         <field name="school_id"/>
+                    </group>
+                    <newline/>
+                    <group expand="0" string="Group By..." colspan="12" col="10">
+                        <filter icon="terp-project" string="Class" help="By Class" context="{'group_by':'standard_id'}"/>
+                        <filter icon="terp-project" string="Gender" help="By Gender" context="{'group_by':'gender'}"/>
+                        <filter icon="terp-project" string="Name" help="By Class" context="{'group_by':'student_name'}"/>
+                        <filter icon="terp-project" string="School" help="By School" context="{'group_by':'school_id'}"/>
+                    </group>
+                </search>
+            </field>
+        </record> 
+        
+        
+        <!--Student Kanban view -->
+        <record model="ir.ui.view" id="student_student_kanban_view">
+            <field name="name">Student KANBAN</field>
+            <field name="model">student.student</field>
+            <field name="arch" type="xml">
+                <kanban>
+                    <field name="color"/>
+                    <field name="name"/>
+                    <field name="email"/>
+                    <templates>
+                        <t t-name="kanban-box">
+                            <t t-set="color"
+                                t-value="kanban_color(record.color.raw_value || record.name.raw_value)" />
+                            <div
+                                t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')">
+                                <div class="oe_kanban_box oe_kanban_color_border">
+                                    <div
+                                        class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
+                                        <table class="oe_kanban_table">
+                                            <tr>
+                                                <td class="oe_kanban_title1" align="left" valign="middle"
+                                                    style="padding-left:10px;">
+                                                    <h4>
+                                                        <a type="open">
+                                                            <field name="name"/>
+                                                            <field name="middle"/>
+                                                            <field name="last"/>
+                                                            <field name="student_name" invisible="1"/>
+                                                            <field name="standard_id" invisible="1"/>
+                                                            <field name="school_id" invisible="1"/>
+                                                            <field name="gender" invisible="1"/>
+                                                            <field name="state" invisible="1"/>
+                                                        </a>
+                                                    </h4>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div
+                                        class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
+                                        <table class="oe_kanban_table">
+                                            <tr width="300">
+                                                <td valign="top" width="64" align="left">
+                                                    <a type="open">
+                                                        <img heigh="80" width="80"
+                                                            t-att-src="kanban_image('student.student', 'photo', record.id.value)"/>
+                                                    </a>
+                                                </td>
+                                                <td valign="top" align="left" style="padding-left:10px;">
+                                                    <table>
+                                                        <tr>
+                                                            <td>Student ID :</td>
+                                                            <td style="padding-left:10px;">
+                                                                <b>
+                                                                    <field name="pid"/>
+                                                                </b>
+                                                            </td>
+                                                        </tr>
+                                                        <tr>
+                                                            <td>Standard : </td>
+                                                            <td style="padding-left:10px;">
+                                                                <b>
+                                                                    <field name="standard_id"/>
+                                                                </b>
+                                                            </td>
+                                                        </tr>
+                                                        <tr>
+                                                            <td>Admission Date : </td>
+                                                            <td style="padding-left:10px;">
+                                                                <b>
+                                                                    <field name="admission_date"/>
+                                                                </b>
+                                                            </td>
+                                                        </tr>
+                                                    </table>
+                                                </td>
+                                            </tr>
+                                            <tr>
+                                                <td>
+                                                    <center>
+                                                        <b>
+                                                            <field name="gender"/>
+                                                        </b>
+                                                    </center>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div
+                                        class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
+                                        <div class="oe_kanban_left">
+                                            <a string="Edit" icon="gtk-edit" type="edit" />
+                                            <a string="Change Color" icon="color-picker" type="color"
+                                                name="color"/>
+                                        </div>
+                                        <br class="oe_kanban_clear"/>
+                                    </div>
+                                </div>
+                            </div>
+                        </t>
+                    </templates>
+                </kanban>
+            </field>
+        </record>
+
+        <!-- Student Reminder Form View -->
+        <record model="ir.ui.view" id="view_student_reminder_form_2">
+            <field name="name">student.reminder.form</field>
+            <field name="model">student.reminder</field>
+            <field name="arch" type="xml">
+                <form string="Student Reminder" >
+                    <sheet>
+                        <separator string="Reminder"/>
+                        <group col="4" colspan="4">
+                            <field name="stu_id" widget="selection" placeholder="Student"/>
+                            <field name="date" placeholder="Select Date"/>
+                            <field name="name" placeholder="Reminder Title"/>
+                            <newline />
+                            <field name="description" colspan="4"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Student Reminder Action view -->
+        <record model="ir.actions.act_window" id="action_student_reminder">
+            <field name="name">Students Reminder</field>
+            <field name="res_model">student.reminder</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">kanban,form</field>
+        </record>
+
+        <!-- Kanban View For Student Reminder -->
+        <record model="ir.ui.view" id="student_reminder_kanban_view">
+            <field name="name">Student KANBAN</field>
+            <field name="model">student.reminder</field>
+            <field name="arch" type="xml">
+                <kanban default_group_by="date">
+                    <field name="name" />
+                    <field name="date" />
+                    <field name="color" />
+                    <templates>
+                        <t t-name="kanban-box">
+                            <div
+                                t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
+                                <div class="oe_dropdown_toggle oe_dropdown_kanban">
+                                    <span class="oe_e">í</span>
+                                    <ul class="oe_dropdown_menu">
+                                        <t t-if="widget.view.is_action_enabled('edit')">
+                                            <li>
+                                                <a type="edit">Edit...</a>
+                                            </li>
+                                        </t>
+                                        <t t-if="widget.view.is_action_enabled('delete')">
+                                            <li>
+                                                <a type="delete">Delete</a>
+                                            </li>
+                                        </t>
+                                        <li>
+                                            <ul class="oe_kanban_colorpicker" data-field="color"/>
+                                        </li>
+                                    </ul>
+                                </div>
+                                <div
+                                    class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
+                                    <table class="oe_kanban_table">
+                                        <tr>
+                                            <td class="oe_kanban_title1" align="left" valign="middle"
+                                                style="padding-left:10px;">
+                                                <h4>
+                                                    <a type="open">
+                                                        <field name="date"/>
+                                                        <field name="name"/>
+                                                    </a>
+                                                </h4>
+                                            </td>
+                                        </tr>
+                                    </table>
+                                </div>
+                                <div
+                                    class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
+                                    <table class="oe_kanban_table">
+                                        <tr width="300">
+                                            <td valign="top" align="left" style="padding-left:10px;">
+                                                <table>
+                                                    <tr>
+                                                        <td>Name :</td>
+                                                        <td style="padding-left:10px;">
+                                                            <b>
+                                                                <field name="name"/>
+                                                            </b>
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <td>Date : </td>
+                                                        <td style="padding-left:10px;">
+                                                            <b>
+                                                                <field name="date"/>
+                                                            </b>
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <td>Description : </td>
+                                                        <td style="padding-left:10px;">
+                                                            <b>
+                                                                <field name="description"/>
+                                                            </b>
+                                                        </td>
+                                                    </tr>
+                                                </table>
+                                            </td>
+                                        </tr>
+                                    </table>
+                                </div>
+                                <div
+                                    class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
+                                    <div class="oe_kanban_left">
+                                        <a string="Edit" icon="gtk-edit" type="edit" />
+                                        <a string="Change Color" icon="color-picker" type="color"
+                                            name="color"/>
+                                    </div>
+                                    <br class="oe_kanban_clear"/>
+                                </div>
+                            </div>
+                        </t>
+                    </templates>
+                </kanban>
+            </field>
+        </record>
+
+        <!-- Admission Register Information Form View -->
+        <record model="ir.ui.view" id="view_student_student_form_2">
+            <field name="name">student.student.form.2</field>
+            <field name="model">student.student</field>
+            <field name="arch" type="xml">
+                <form string="Admission Register" >
+                    <header>
+                        <button name="set_terminate" string="Terminate" type="object"
+                            states="done" icon="gtk-cancel" class="oe_highlight"
+                            groups="school.group_school_administration,school.group_school_teacher"/>
+                        <button name="set_alumni" string="Alumni" type="object"
+                            icon="gtk-execute" states="done"
+                            groups="school.group_school_administration,school.group_school_teacher"/>
+                        <button name="admission_done" type="object" string="Done"
+                            states="draft,terminate" icon="gtk-jump-to"/>
+                        <field name="state" widget="statusbar" nolabel="1"/>
+                    </header>
+                    <sheet style="width: 10%%,height:10%%">
+                        <newline />
+                        <separator string="Personal Information"/>
+                        <field name="photo" widget='image' class="oe_avatar oe_left"
+                            options='{"size":[110, 110]}'/>
+                        <div class="oe_title">
+                            <field name="pid" />
+                            <!-- <field name="reg_code"/ -->
+                            <field name="name" placeholder="First Name" nolabel="1"/>
+                            <field name="middle" placeholder="Middle Name" nolabel="1"/>
+                            <field name="last" placeholder="Last Name" nolabel="1"/>
+                        </div>
+                        <group col="4">
+                            <group col="2">
+                                <separator string="School Information" colspan="4"/>
+                                <field name="school_id" placeholder="School Name"
+                                    required="1"/>
+                                <field name="year" widget="selection" placeholder="Academic Year"/>
+                            </group>
+                            <group col="2">
+                                <separator string="Class Information" colspan="4" />
+                                <field name="standard_id" placeholder="Standard" widget="selection"/>
+                                <field name="division_id" placeholder="Division" widget="selection"/>
+                                <field name="medium_id" placeholder="Medium" widget="selection"/>
+                            </group>
+                        </group>
+                        <group col="4" colspan="4">
+                            <group>
+                                <label for="street" string="Address"/>
+                                <div>
+                                    <field name="street" placeholder="Street..."/>
+                                    <field name="street2" placeholder="Street2..."/>
+                                    <field name="country_id" placeholder="Country" class="oe_no_button"
+                                        options='{"no_open": true}'/>
+                                    <field name="state_id" domain="[('country_id','=',country_id)]"
+                                        placeholder="State" options='{"no_open": true}'/>
+                                    <field name="city" placeholder="City"/>
+                                    <field name="zip" placeholder="ZIP"/>
+                                </div>
+                            </group>
+                            <group>
+                                <field name="phone" placeholder="Phone Number"/>
+                                <field name="mobile" placeholder="Mobile Number"/>
+                                <field name="email" placeholder="Email Address" String="Email"/>
+                                <field name="website" widget="url" placeholder="e.g. www.serpentcs.com"/>
+                            </group>
+                        </group>
+                        <notebook colspan="4">
+                            <page string="General">
+                                <form string="General" >
+                                    <sheet>
+                                        <separator string="General Information" />
+                                        <group col="4" colspan="4">
+                                            <div>
+                                                <table width="100%%">
+                                                    <tr>
+                                                        <td width="15%%" style="text-align:right;vertical-align:middle;">
+                                                            <b>
+                                                                <label for="gender"/>
+                                                                :
+                                                            </b>
+                                                        </td>
+                                                        <td width="35%%">
+                                                            <field name="gender" placeholder="Gender"/>
+                                                        </td>
+                                                        <td width="15%%" style="text-align:right;vertical-align:middle;">
+                                                            <b>
+                                                                <label for="mother_tongue"/>
+                                                                :
+                                                            </b>
+                                                        </td>
+                                                        <td width="35%%" style="padding-left:10px;">
+                                                            <field name="mother_tongue" placeholder="Mother Tongue"/>
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <td width="15%%" style="text-align:right;vertical-align:middle;">
+                                                            <b>
+                                                                <label for="date_of_birth"/>
+                                                                :
+                                                            </b>
+                                                        </td>
+                                                        <td width="35%%" style="padding-left:10px;">
+                                                            <field name="date_of_birth" placeholder="Birthdate" />
+                                                        </td>
+                                                        <td width="15%%" style="text-align:right;vertical-align:middle;">
+                                                            <b>
+                                                                <label for="admission_date"/>
+                                                                :
+                                                            </b>
+                                                        </td>
+                                                        <td width="35%%" style="padding-left:10px;">
+                                                            <field name="admission_date" placeholder="Admission Date"/>
+                                                        </td>
+                                                    </tr>
+                                                    <tr>
+                                                        <td width="15%%" style="text-align:right;vertical-align:middle;">
+                                                            <b>
+                                                                <label for="age"/>
+                                                                :
+                                                            </b>
+                                                        </td>
+                                                        <td width="35%%" style="padding-left:10px;">
+                                                            <field name="age"/>
+                                                        </td>
+                                                        <td width="15%%" style="text-align:right;vertical-align:middle;">
+                                                            <b>
+                                                                <label for="maritual_status"/>
+                                                                :
+                                                            </b>
+                                                        </td>
+                                                        <td width="35%%" style="padding-left:10px;">
+                                                            <field name="maritual_status" placeholder="Select Maritual Status"/>
+                                                        </td>
+                                                    </tr>
+                                                </table>
+                                            </div>
+                                            <newline/>
+                                            <separator string="Emergency Contact Details"
+                                                colspan="4"/>
+                                            <newline />
+                                            <group colspan="4" col="4">
+                                                <field name="contact_phone1"/>
+                                                <field name="contact_mobile1"/>
+                                            </group>
+                                        </group>
+                                    </sheet>
+                                </form>
+                            </page>
+                            <page string="References">
+                                <field name="reference_ids" nolabel="1" colspan="4">
+                                    <tree string="Reference">
+                                        <field name="name"/>
+                                        <field name="middle"/>
+                                        <field name="last"/>
+                                        <field name="designation"/>
+                                        <field name="phone"/>
+                                        <field name="gender"/>
+                                    </tree>
+                                    <form string="Reference">
+                                        <group col="4" colspan="4">
+                                            <field name="name" placeholder="First Name"/>
+                                            <field name="middle" placeholder="Middle Name"/>
+                                            <field name="last" placeholder="Last Name"/>
+                                            <field name="designation" placeholder="Designation"/>
+                                            <field name="phone" placeholder="Phone Number"/>
+                                            <field name="gender"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Previous School">
+                                <field name="previous_school_ids" nolabel="1" colspan="4">
+                                    <tree string="Previous School Details">
+                                        <field name="name"/>
+                                        <field name="registration_no"/>
+                                        <field name="admission_date"/>
+                                        <field name="exit_date"/>
+                                        <field name="course_id"/>
+                                    </tree>
+                                    <form string="Previous School Details" >
+                                        <separator string="Previous School Details"/>
+                                        <group col="4" colspan="4">
+                                            <field name="name" placeholder="School Name"/>
+                                            <field name="registration_no" placeholder="Registration No"/>
+                                            <field name="admission_date"/>
+                                            <field name="exit_date"/>
+                                            <field name="course_id"/>
+                                            <newline/>
+                                            <field name="add_sub" colspan="4"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Family Details">
+                                <field name="family_con_ids" nolabel="1" colspan="4">
+                                    <tree string="Family  Contact Details">
+                                        <field name='stu_name' attrs="{'invisible':[('rel_name','!=','exist')]}"
+                                            string="Existing Student" />
+                                        <field name='name' attrs="{'invisible':[('rel_name','!=','new')]}"
+                                            string="New Name"/>
+                                        <field name="relation"/>
+                                        <field name="phone"/>
+                                    </tree>
+                                    <form string="Family Contact Details">
+                                        <group col="4">
+                                            <group col="2">
+                                                <separator colspan="2"/>
+                                                <field name='rel_name' placeholder="Name"/>
+                                                <field name='stu_name' placeholder="Create or Select Name"
+                                                    attrs="{'invisible':[('rel_name','!=','exist')]}"/>
+                                                <field name='name' placeholder="Name"
+                                                    attrs="{'invisible':[('rel_name','!=','new')]}"/>
+                                                <field name='relation' placeholder="Enter or select Relation"/>
+                                            </group>
+                                            <group col="2">
+                                                <separator colspan="2" />
+                                                <field name='phone' placeholder="Phone Number"/>
+                                                <field name='email' placeholder="Email Address"/>
+                                            </group>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Remarks">
+                                <form string="Remarks">
+                                    <field name="remark" nolabel="1" colspan="4"/>
+                                </form>
+                            </page>
+                        </notebook>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Student GRN Tree View -->
+        <record model="ir.ui.view" id="view_student_GRN_tree">
+            <field name="name">student.grn.tree</field>
+            <field name="model">student.grn</field>
+            <field name="arch" type="xml">
+                <tree string="Student GRN format">
+                    <field name="grn"/>
+                    <field name="name"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Student GRN Form View -->
+        <record model="ir.ui.view" id="view_student_GRN_form">
+            <field name="name">student.grn.form</field>
+            <field name="model">student.grn</field>
+            <field name="arch" type="xml">
+                <form string="Student GRN format" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="grn" />
+                            <newline/>
+                            <field name="name"/>
+                            <newline/>
+                            <field name="prefix" placeholder="Prefix" />
+                            <field name="static_prefix" attrs="{'invisible':[('prefix','!=','static')],'required':[('prefix','=','static')]}"/>
+                            <newline/>
+                            <field name="schoolprefix_id" attrs="{'invisible':[('prefix','!=','school')],'required':[('prefix','=','school')]}"/>
+                            <newline/>
+                            <field name="postfix" placeholder="Suffix" />
+                            <field name="schoolpostfix_id" attrs="{'invisible':[('postfix','!=','school')],'required':[('postfix','=','school')]}"/>
+                            <newline/>
+                            <field name="static_postfix" attrs="{'invisible':[('postfix','!=','static')],'required':[('postfix','=','static')]}"/>
+                            <newline/>
+                            <field name="grn_no" />
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <record model="ir.actions.act_window" id="action_student_grn_form">
+            <field name="name">GR No.</field>
+            <field name="res_model">student.grn</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Admission Register Information Tree View -->
+        <record model="ir.ui.view" id="view_student_student_tree_2">
+            <field name="name">student.student.tree.2</field>
+            <field name="model">student.student</field>
+            <field name="arch" type="xml">
+                <tree string="Admission Register">
+                    <field name="pid"/>
+                    <field name="name"/>
+                    <field name="student_name" invisible="1"/>
+                    <field name="year" widget="selection"/>
+                    <field name="standard_id" widget="selection"/>
+                    <field name="school_id"/>
+                    <field name="admission_date"/>
+                    <field name="gender"/>
+                    <field name="state"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Admission Register Information Search View -->
+        <record model="ir.ui.view" id="view_student_student_search_2">
+            <field name="name">student.student.search.2</field>
+            <field name="model">student.student</field>
+            <field name="arch" type="xml">
+                <search string="Admission Register">
+                     <filter icon="terp-project"  string="Draft" domain="[('state','=', 'draft')]" help="Admission In Draft State"/>
+                     <filter icon="terp-project"  string="Alumni" domain="[('state','=', 'alumni')]" help="Admission In Confirm State"/>
+                     <filter icon="terp-project"  string="Terminated" domain="[('state','=', 'terminate')]" help="Admission In Pending State"/>
+                     <filter icon="terp-project"  string="Done" domain="[('state','=', 'done')]" help="Admission In Done State"/>
+                     <separator orientation="vertical"/>
+                     <field name="student_name" invisible="1"/>
+                     <field name="year"/>
+                     <field name="standard_id"/>
+                     <field name="gender"/>
+                     <field name="school_id"/>
+                    <newline/>
+                    <group expand="0" string="Group By..." colspan="12" col="10">
+                        <filter icon="terp-project" string="Class"  domain="[]" help="By Class" context="{'group_by':'standard_id'}"/>
+                        <filter icon="terp-project" string="Gender" domain="[]" help="By Gender" context="{'group_by':'gender'}"/>
+                        <filter icon="terp-project" string="Name" domain="[]" help="By Class" context="{'group_by':'student_name'}"/>
+                        <filter icon="terp-project" string="School" help="By School"
+                            context="{'group_by':'school_id'}" />
+                    </group>
+                </search>
+            </field>
+        </record>
+
+        <!-- School Information Form View -->
+        <record model="ir.ui.view" id="view_school_school_form">
+            <field name="name">school.school.form</field>
+            <field name="model">school.school</field>
+            <field name="arch" type="xml">
+                <form string="School Information" >
+                    <sheet>
+                        <separator string="School Configuration"/>
+                        <group col="6" colspan="4">
+                            <field name="name" string="School Name" placeholder="School Name"/>
+                            <field name="code" placeholder="Code"/>
+                        </group>
+                        <group>
+                            <label for="street" string="Address"/>
+                            <div>
+                                <field name="street" placeholder="Street..."/>
+                                <field name="street2" placeholder="Street2..."/>
+                                <field name="country_id" placeholder="Country" class="oe_no_button"
+                                    options='{"no_open": true}'/>
+                                <field name="state_id" domain="[('country_id','=',country_id)]"
+                                    required="1" placeholder="State" options='{"no_open": true}'/>
+                                <field name="city" placeholder="City" required="1"/>
+                                <field name="zip" placeholder="ZIP"/>
+                            </div>
+                        </group>
+                        <group col="4" colspan="2">
+                            <field name="currency_id" placeholder="Select Or Create Currency"/>
+                            <field name="lang"/>
+                        </group>
+                        <notebook colspan="4">
+                            <page string="Standards">
+                                <field name="standards" nolabel="1" colspan="4"/>
+                            </page>
+                        </notebook>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- School Information Tree View -->
+        <record model="ir.ui.view" id="view_school_school_tree">
+            <field name="name">school.school.tree</field>
+            <field name="model">school.school</field>
+            <field name="arch" type="xml">
+                <tree string="School Information">
+                    <field name="name" string="School Name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- School Attendace Type view -->
+        <record model="ir.ui.view" id="view_school_attendance_form">
+            <field name="name">school.attendance.form</field>
+            <field name="model">attendance.type</field>
+            <field name="arch" type="xml">
+                <form string="Standard Information" >
+                    <separator string="Attendance Type"/>
+                    <group col="4" colspan="2">
+                        <field name="name"/>
+                        <field name="code"/>
+                    </group>
+                </form>
+            </field>
+        </record>
+
+        <!-- School Standard Information Form View -->
+        <record model="ir.ui.view" id="view_school_standard_form">
+            <field name="name">school.standard.form</field>
+            <field name="model">school.standard</field>
+            <field name="arch" type="xml">
+                <form string="Standard Information" >
+                    <sheet>
+                        <separator string="Standard Information" />
+                        <group col="4" colspan="4">
+                            <field name="standard_id" widget="selection"/>
+                            <field name="division_id" widget="selection"/>
+                            <field name="medium_id" widget="selection"/>
+                            <field name="school_id" widget="selection"/>
+                            <field name="user_id" placeholder="Create Or Select Faculty Name"/>
+                            <field name="passing" placeholder="No Of ATKT Allowed"/>
+                        </group>
+                        <notebook colspan="4">
+                            <page string="Students">
+                                <field name="student_ids" nolabel="1" colspan="4">
+                                    <tree string="Student Information">
+                                        <field name="roll_no"/>
+                                        <field name="name"/>
+                                        <field name="year"/>
+                                        <field name="state" invisible="1"/>
+                                    </tree>
+                                    <form string="Student Information">
+                                        <group col="4" colspan="4">
+                                        <field name="roll_no"/>
+                                        <field name="name" placeholder="Name"/>
+                                        <field name="year" placeholder="Year"/>
+                                        <field name="state" invisible="1"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Subjects">
+                                <button name="import_subject" string="Import Previous Standard subject"
+                                    type="object" class="oe_highlight"/>
+                                <field name="subject_ids" nolabel="1" colspan="4"
+                                    string="Add Subjects"/>
+                            </page>
+                        </notebook>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- School Standard Information Kanban View -->
+        <record model="ir.ui.view" id="school_standard_kanban_view">
+            <field name="name">school.standard.kanban</field>
+            <field name="model">school.standard</field>
+            <field name="arch" type="xml">
+                <kanban default_group_by="standard_id">
+                    <field name="school_id" />
+                    <field name="standard_id" />
+                    <field name="division_id" />
+                    <field name="medium_id" />
+                    <field name="user_id" />
+                    <field name="color" />
+                    <templates>
+                        <t t-name="kanban-box">
+                            <t t-set="color"
+                                t-value="kanban_color(record.color.raw_value || record.school_id.value)" />
+                            <div
+                                t-att-class="color + (record.color.raw_value == 1 ? ' oe_kanban_color_alert' : '')">
+                                <div class="oe_kanban_box oe_kanban_color_border">
+                                    <div
+                                        class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
+                                        <table class="oe_kanban_table">
+                                            <tr>
+                                                <td class="oe_kanban_title1" align="left" valign="middle">
+                                                    <div>
+                                                        School :-
+                                                        <field name="school_id"/>
+                                                    </div>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div
+                                        class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
+                                        <table class="oe_kanban_table">
+                                            <tr>
+                                                <td valign="top" align="left">
+                                                    <div class="oe_kanban_title2">
+                                                        <div>
+                                                            Class Teacher :-
+                                                            <field name="user_id"/>
+                                                        </div>
+                                                    </div>
+                                                    <div class="oe_kanban_title3">
+                                                        <div>
+                                                            Standard :-
+                                                            <field name="standard_id"/>
+                                                        </div>
+                                                        <div>
+                                                            Division :-
+                                                            <field name="division_id"/>
+                                                        </div>
+                                                        <div>
+                                                            Medium :-
+                                                            <field name="medium_id"/>
+                                                        </div>
+                                                    </div>
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </div>
+                                    <div
+                                        class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
+                                        <div class="oe_kanban_left">
+                                            <a string="Edit" icon="gtk-edit" type="edit"/>
+                                            <a string="Delete" icon="gtk-delete" type="delete"/>
+                                            <a string="Change Color" icon="color-picker" type="color"
+                                                name="color"/>
+                                        </div>
+                                        <br class="oe_kanban_clear"/>
+                                    </div>
+                                </div>
+                            </div>
+                        </t>
+                    </templates>
+                </kanban>
+            </field>
+        </record>
+
+        <!-- School Standard Information Tree View -->
+        <record model="ir.ui.view" id="view_school_standard_tree">
+            <field name="name">school.standard.tree</field>
+            <field name="model">school.standard</field>
+            <field name="arch" type="xml">
+                <tree string="Standard Information">
+                    <field name="standard_id"/>
+                    <field name="user_id"/>
+                    <field name="division_id"/>
+                    <field name="medium_id"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- School Standard Information Search View -->
+        <record model="ir.ui.view" id="view_student_student_search">
+            <field name="name">school.standard.search</field>
+            <field name="model">school.standard</field>
+            <field name="arch" type="xml">
+                <search string="Standard Information">
+                    <group col="10" colspan="4">
+                        <field name="standard_id"/>
+                        <field name="user_id"/>
+                        <field name="division_id"/>
+                        <field name="medium_id"/>
+                    </group>
+                    <newline/>
+                    <group expand="0" string="Group By..." colspan="12" col="10">
+                        <filter icon="terp-project" string="School" help="By School"
+                            context="{'group_by':'school_id'}"/>
+                        <filter icon="terp-project" string="Class" help="By Class"
+                            context="{'group_by':'standard_id'}"/>
+                        <filter icon="terp-project" string="Division" help="By Division"
+                            context="{'group_by':'division_id'}"/>
+                        <filter icon="terp-project" string="Medium" help="By Medium"
+                            context="{'group_by':'medium_id'}"/>
+                    </group>
+                </search>
+            </field>
+        </record>
+
+        <!-- Student Cast Tree View -->
+        <record model="ir.ui.view" id="view_student_cast_tree">
+            <field name="name">student.cast.tree</field>
+            <field name="model">student.cast</field>
+            <field name="arch" type="xml">
+                <tree string="Cast Information">
+                    <field name="name"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Student Form Tree View -->
+        <record model="ir.ui.view" id="view_student_cast_form">
+            <field name="name">student.cast.form</field>
+            <field name="model">student.cast</field>
+            <field name="arch" type="xml">
+                <form string="Cast Information" >
+                    <sheet>
+                        <group>
+                            <field name="name" placeholder="Religion"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <record model="ir.actions.act_window" id="action_student_cast_form_7">
+            <field name="name">Cast</field>
+            <field name="res_model">student.cast</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+
+        <!-- Grade System From View -->
+        <record model="ir.ui.view" id="view_grade_form">
+            <field name="name">grade.master.form</field>
+            <field name="model">grade.master</field>
+            <field name="arch" type="xml">
+                <form string="Grade" >
+                    <sheet>
+                        <group col="4" string="Grade" colspan="4">
+                            <field name="name" string="Grade Names" />
+                            <newline />
+                            <field name="grade_ids" nolabel="1" colspan="4">
+                                <tree>
+                                    <field name="sequence"/>
+                                    <field name="name"/>
+                                    <field name="grade"/>
+                                </tree>
+                                <form>
+                                    <group>
+                                        <field name="sequence" colspan="2"/>
+                                        <newline />
+                                        <field name='grade'/>
+                                        <newline />
+                                        <field name="from_mark"/>
+                                        <field name="to_mark"/>
+                                        <field name="fail"/>
+                                    </group>
+                                </form>
+                            </field>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Grade System From View -->
+        <record model="ir.ui.view" id="view_grade_tree">
+            <field name="name">grade.master.tree</field>
+            <field name="model">grade.master</field>
+            <field name="arch" type="xml">
+                <tree string="Grade">
+                    <field name="name" />
+                </tree>
+            </field>
+        </record>
+
+        <!-- Academic Years Information From View -->
+        <record model="ir.ui.view" id="view_academic_year_form">
+            <field name="name">acdemic.year.form</field>
+            <field name="model">academic.year</field>
+            <field name="arch" type="xml">
+                <form string="Academic Years" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="sequence"/>
+                            <field name="name" placeholder="Name"/>  
+                            <field name="code" placeholder="Code"/>
+                            <field name="date_start" placeholder="Start Date"/>
+                            <field name="date_stop" placeholder="Stop Date"/>
+                            <field name="grade_id" placeholder="Grade System"/>
+                        </group>
+                        <notebook colspan="4">
+                            <page string="Months">
+                                <field name="month_ids" nolabel="1" colspan="4">
+                                    <tree string="Months">
+                                        <field name="name"/>  
+                                        <field name="code"/>
+                                        <field name="date_start"/>
+                                        <field name="date_stop"/>
+                                    </tree>
+                                    <form string="Months">
+                                        <group col="4" colspan="4">
+                                            <field name="name" placeholder="Name"/>
+                                            <field name="code" placeholder="Code"/>
+                                            <field name="date_start" placeholder="Start Date"/>
+                                            <field name="date_stop" placeholder="Stop Date"/>
+                                            <field name="description" colspan="4"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                        </notebook>
+                        <newline/>
+                        <separator string="Description" colspan="4"/>
+                        <field name="description" colspan="4"/>
+                   </sheet>
+                </form>
+            </field>
+        </record>
+
+
+        <!-- Academic Years Information Tree View -->
+        <record model="ir.ui.view" id="view_academic_year_tree">
+            <field name="name">academic.year.tree</field>
+            <field name="model">academic.year</field>
+            <field name="arch" type="xml">
+                <tree string="Academic Years">
+                    <field name="sequence"/>
+                    <field name="name"/>
+                    <field name="code"/>
+                    <field name="date_start"/>
+                    <field name="date_stop"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Academic Months Information From View -->
+        <record model="ir.ui.view" id="view_academic_month_form">
+            <field name="name">academic.month.form</field>
+            <field name="model">academic.month</field>
+            <field name="arch" type="xml">
+                <form string="Months" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="name" placeholder="Name"/>
+                            <field name="code" placeholder="Code"/>
+                            <field name="date_start" placeholder="Start Date"/>
+                            <field name="date_stop" placeholder="Stop Date"/>
+                            <field name="year_id" colspan="4"/>
+                            <field name="description" colspan="4"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Academic Months Information Tree View -->
+        <record model="ir.ui.view" id="view_academic_month_tree">
+            <field name="name">academic.month.tree</field>
+            <field name="model">academic.month</field>
+            <field name="arch" type="xml">
+                <tree string="Months">
+                    <field name="name"/>
+                    <field name="code"/>
+                    <field name="date_start"/>
+                    <field name="date_stop"/>
+                    <field name="year_id"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Standard Medium Information From View -->
+        <record model="ir.ui.view" id="view_standard_medium_form">
+            <field name="name">standard.medium.form</field>
+            <field name="model">standard.medium</field>
+            <field name="arch" type="xml">
+                <form string="Mediums" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="sequence"/>
+                            <field name="name" placeholder="Name"/>
+                            <field name="code" placeholder="Code"/>
+                            <newline />
+                            <field name="description" colspan="4"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Standard Medium Information Tree View -->
+        <record model="ir.ui.view" id="view_standard_medium_tree">
+            <field name="name">standard.medium.tree</field>
+            <field name="model">standard.medium</field>
+            <field name="arch" type="xml">
+                <tree string="Mediums">
+                    <field name="sequence"/>
+                    <field name="name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Student Document Type From View -->
+        <record model="ir.ui.view" id="view_document_type_form">
+            <field name="name">document.type.form</field>
+            <field name="model">document.type</field>
+            <field name="arch" type="xml">
+                <form string="Document Type" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="seq_no"/>
+                            <field name="doc_type" placeholder="Document Type"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Student Document Type Tree View -->
+        <record model="ir.ui.view" id="view_standard_document_tree">
+            <field name="name">document.type.tree</field>
+            <field name="model">document.type</field>
+            <field name="arch" type="xml">
+                <tree string="Document Type">
+                    <field name="seq_no"/>
+                    <field name="doc_type"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Student Document Type Action -->
+        <record model="ir.actions.act_window" id="action_document_type_form">
+            <field name="name">Document Types</field>
+            <field name="res_model">document.type</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Division Information From View -->
+        <record model="ir.ui.view" id="view_standard_division_form">
+            <field name="name">standard.division.form</field>
+            <field name="model">standard.division</field>
+            <field name="arch" type="xml">
+                <form string="Divisions" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="sequence"/>
+                            <field name="name" placeholder="Name"/>
+                            <field name="code" placeholder="Code"/>
+                            <newline />
+                            <field name="description" colspan="4"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Standard Division Information Tree View -->
+        <record model="ir.ui.view" id="view_standard_division_tree">
+            <field name="name">standard.division.tree</field>
+            <field name="model">standard.division</field>
+            <field name="arch" type="xml">
+                <tree string="Divisions">
+                    <field name="sequence"/>
+                    <field name="name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Elective Subject Group Form View -->
+        <record model="ir.ui.view" id="view_elective_group_form">
+            <field name="name">elective.subject.form</field>
+            <field name="model">subject.elective</field>
+            <field name="arch" type="xml">
+                <form string="Elective Group" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="name" colspan="4" required="1"/>
+                            <separator String="Subjects" col="4" colspan="4"/>
+                            <field name="subject_ids" nolabel="1" colspan="4">
+                                <form>
+                                    <group col="4" colspan="4">
+                                        <field name="name" placeholder="Name"/>
+                                        <field name="code" placeholder="Code"/>
+                                        <field name="maximum_marks"/>
+                                        <field name="minimum_marks"/>
+                                        <field name="weightage" />
+                                        <field name="is_practical"/>
+                                        <field name="no_exam"/>
+                                        <field name="elective_id" string="Elective Group"
+                                            invisible="1"/>
+                                    </group>
+                                    <notebook colspan="4">
+                                        <page string="Standards">
+                                            <field name="standard_ids" nolabel="1" colspan="4">
+                                                <tree string="Standards">
+                                                    <field name="standard_id"/>
+                                                    <field name="division_id"/>
+                                                    <field name="medium_id"/>
+                                                </tree>
+                                                <form string="Standards">
+                                                    <group col="4" colspan="4">
+                                                        <field name="standard_id" placeholder="Standard"/>
+                                                        <field name="division_id" placeholder="Division"/>
+                                                        <field name="medium_id" placeholder="Medium"/>
+                                                    </group>
+                                                </form>
+                                            </field>
+                                        </page>
+                                        <page string="Teachers">
+                                            <field name="teacher_ids" nolabel="1" colspan="4"/>
+                                        </page>
+                                        <page string="Students" attrs="{'invisible':[('elective_id','!=',True)]}">
+                                            <field name="student_ids" nolabel="1"/>
+                                        </page>
+                                        <page string="Syllabus">
+                                            <group>
+                                                <field name="syllabus_ids" nolabel="1" colspan="4">
+                                                    <tree editable="top" string="Syllabs">
+                                                        <field name="duration"/>
+                                                        <field name="topic"/>
+                                                    </tree>
+                                                    <form string="Syllabs">
+                                                        <field name="duration"/>
+                                                        <newline/>
+                                                        <field name="topic" colspan="4"/>
+                                                    </form>
+                                                </field>
+                                            </group>
+                                        </page>
+                                    </notebook>
+                                </form>
+                            </field>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Subject Information Form View -->
+        <record model="ir.ui.view" id="view_subject_subject_form">
+            <field name="name">subject.subject.form</field>
+            <field name="model">subject.subject</field>
+            <field name="arch" type="xml">
+                <form string="Subjects" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="name" placeholder="Name"/>
+                            <field name="code" placeholder="Code"/>
+                            <field name="maximum_marks"/>
+                            <field name="minimum_marks"/>
+                            <field name="weightage"/>
+                            <field name="is_practical"/>
+                            <field name="no_exam"/>
+                            <field name="elective_id" string="Elective Group" readonly="1"/>
+                        </group>
+                        <notebook colspan="4">
+                            <page string="Standards">
+                                <field name="standard_ids" nolabel="1" colspan="4">
+                                    <tree string="Standards">
+                                        <field name="standard_id"/>
+                                        <field name="division_id"/>
+                                        <field name="medium_id"/>
+                                    </tree>
+                                    <form string="Standards">
+                                        <group col="4" colspan="4">
+                                            <field name="standard_id" placeholder="Standard"/>
+                                            <field name="division_id" placeholder="Division"/>
+                                            <field name="medium_id" placeholder="Medium"/>
+                                        </group>
+                                    </form>
+                                </field>
+                            </page>
+                            <page string="Teachers">
+                                <field name="teacher_ids" nolabel="1" colspan="4"/>
+                            </page>
+                            <page string="Students" attrs="{'invisible':[('elective_id','!=',True)]}">
+                                <field name="student_ids" nolabel="1"/>
+                            </page>
+                            <page string="Syllabus">
+                                <group>
+                                    <field name="syllabus_ids" nolabel="1" colspan="4">
+                                        <tree editable="top" string="Syllabs">
+                                            <field name="duration" />
+                                            <field name="topic"/>
+                                        </tree>
+                                        <form string="Syllabs">
+                                            <field name="duration"/>
+                                            <newline />
+                                            <field name="topic" colspan="4"/>
+                                        </form>
+                                    </field>
+
+                                </group>
+                            </page>
+                        </notebook>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Subject Information Tree View -->
+        <record model="ir.ui.view" id="view_subject_subject_tree">
+            <field name="name">subject.subject.tree</field>
+            <field name="model">subject.subject</field>
+            <field name="arch" type="xml">
+                <tree string="Subjects">
+                    <field name="name"/>
+                    <field name="code"/>
+                    <field name="maximum_marks"/>
+                    <field name="minimum_marks"/>
+                    <field name="weightage"/>
+                    <field name="no_exam"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Standard Information Form View -->
+        <record model="ir.ui.view" id="view_standard_standard_form">
+            <field name="name">standard.standard.form</field>
+            <field name="model">standard.standard</field>
+            <field name="arch" type="xml">
+                <form string="Standard Information" >
+                    <sheet>
+                        <group col="4" colspan="4">
+                            <field name="sequence"/>
+                            <newline />
+                            <field name="name" placeholder="Name"/>
+                            <field name="code" placeholder="Code"/>
+                            <newline />
+                            <field name="description" colspan="4"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Standard Information Tree View -->
+        <record model="ir.ui.view" id="view_standard_standard_tree">
+            <field name="name">standard.standard.tree</field>
+            <field name="model">standard.standard</field>
+            <field name="arch" type="xml">
+                <tree string="Standard Information">
+                    <field name="sequence" />
+                    <field name="name"/>
+                    <field name="code"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Teacher Information Form View -->
+        <record model="ir.ui.view" id="view_teacher_teacher_form">
+            <field name="name">hr.employee.form</field>
+            <field name="model">hr.employee</field>
+            <field name="inherit_id" ref="hr.view_employee_form" />
+            <field name="arch" type="xml">
+                <data>
+                    <xpath expr="//page[@string = 'Public Information']"
+                        position="after">
+                        <page string="Subjects">
+                            <field name="subject_ids" nolabel="1"/>
+                        </page>
+                    </xpath>
+                </data>
+            </field>
+        </record>
+
+        <!-- Student Information Form Action -->
+        <record model="ir.actions.act_window" id="action_student_student_form_12">
+            <field name="name">Students</field>
+            <field name="domain">[('state', '!=', 'draft')]</field>
+            <field name="res_model">student.student</field>
+            <field name="view_type">form</field>
+            <field name="view_id" ref="view_student_student_form_1"/>
+            <field name="search_view_id" ref="view_student_student_search_1"/>
+            <field name="view_mode">tree,form,kanban</field>
+        </record>
+
+        <!-- Student Information Tree Action View -->
+        <record id="action_view_student_student_tree_1" model="ir.actions.act_window.view">
+            <field name="view_mode">tree</field>
+            <field eval="20" name="sequence"/>
+            <field name="view_id" ref="view_student_student_tree_1"/>
+            <field name="act_window_id" ref="action_student_student_form_12"/>
+        </record>
+        <record id="action_view_student_student_form_1" model="ir.actions.act_window.view">
+            <field name="view_mode">form</field>
+            <field eval="30" name="sequence"/>
+            <field name="view_id" ref="view_student_student_form_1"/>
+            <field name="act_window_id" ref="action_student_student_form_12"/>
+        </record>
+
+        <record id="action_view_student_student_kanban_1" model="ir.actions.act_window.view">
+            <field name="view_mode">kanban</field>
+            <field eval="31" name="sequence"/>
+            <field name="view_id" ref="student_student_kanban_view"/>
+            <field name="act_window_id" ref="action_student_student_form_12"/>
+        </record>
+
+        <!-- Action view for Student Reminders -->
+        <record id="action_view_student_reminder_kanban" model="ir.actions.act_window.view">
+            <field name="view_mode">kanban</field>
+            <field eval="0" name="sequence"/>
+            <field name="view_id" ref="student_reminder_kanban_view"/>
+            <field name="act_window_id" ref="action_student_reminder"/>
+        </record>
+
+        <!-- Admission Register Information Form Action -->
+        <record model="ir.actions.act_window" id="action_student_student_form_2">
+            <field name="name">Admission Register</field>
+            <field name="res_model">student.student</field>
+            <field name="view_type">form</field>
+            <field name="view_id" ref="view_student_student_form_2" />
+            <field name="search_view_id" ref="view_student_student_search_2"/>
+            <field name="view_mode">tree,form,kanban</field>
+        </record>
+
+        <!-- Admission Register Information Tree Action -->
+        <record id="action_student_student_tree_2" model="ir.actions.act_window.view">
+            <field name="view_mode">tree</field>
+            <field eval="20" name="sequence"/>
+            <field name="view_id" ref="view_student_student_tree_2" />
+            <field name="act_window_id" ref="action_student_student_form_2"/>
+        </record>
+        
+        <record id="action_view_student_student_kanban_2" model="ir.actions.act_window.view">
+            <field name="view_mode">kanban</field>
+            <field eval="21" name="sequence" />
+            <field name="view_id" ref="student_student_kanban_view" />
+            <field name="act_window_id" ref="action_student_student_form_2"/>
+        </record>
+
+        <!-- Teacher Information Action -->
+        <record model="ir.actions.act_window" id="action_teacher_teacher_form_1">
+            <field name="name">Teachers</field>
+            <field name="res_model">hr.employee</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">kanban,tree,form</field>
+        </record>
+
+        <!-- School Information Action -->
+        <record model="ir.actions.act_window" id="action_school_school_form">
+            <field name="name">Schools</field>
+            <field name="res_model">school.school</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+        
+        <!-- Standard Information Action -->
+        <record model="ir.actions.act_window" id="action_school_standard_form">
+            <field name="name">Standards</field>
+            <field name="res_model">school.standard</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form,kanban</field>
+        </record>
+
+        <!-- Elective Subject -->
+        <record model="ir.actions.act_window" id="action_elective_subject_form">
+            <field name="name">Elective Group</field>
+            <field name="res_model">subject.elective</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Grade System Action -->
+        <record model="ir.actions.act_window" id="action_grade_master_form">
+            <field name="name">Grade</field>
+            <field name="res_model">grade.master</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Academic Year Information Action -->
+        <record model="ir.actions.act_window" id="action_academic_year_form">
+            <field name="name">Academic Years</field>
+            <field name="res_model">academic.year</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Academic Month Information Action -->
+        <record model="ir.actions.act_window" id="action_academic_month_form">
+            <field name="name">Months</field>
+            <field name="res_model">academic.month</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Medium Information Action -->
+        <record model="ir.actions.act_window" id="action_standard_medium_form">
+            <field name="name">Mediums</field>
+            <field name="res_model">standard.medium</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Division Information Action -->
+        <record model="ir.actions.act_window" id="action_standard_division_form">
+            <field name="name">Divisions</field>
+            <field name="res_model">standard.division</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Subject Information Action -->
+        <record model="ir.actions.act_window" id="action_subject_subject_form">
+            <field name="name">Subjects</field>
+            <field name="res_model">subject.subject</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Standard Information Action -->
+        <record model="ir.actions.act_window" id="action_standard_standard_form">
+            <field name="name">Classes</field>
+            <field name="res_model">standard.standard</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+
+        <!-- Student News Form View -->
+        <record model="ir.ui.view" id="edit_student_news_form">
+            <field name="name">student.news.form</field>
+            <field name="model">student.news</field>
+            <field name="arch" type="xml">
+                <form string="News" >
+                    <header>
+                        <button string="Send Mail" type="object" name="news_update"
+                            icon="gtk-ok" colspan="2"/>
+                    </header>
+                    <sheet>
+                        <group col="4" colspan="4" string="News / Updates">
+                            <field name="subject"/>
+                            <newline/>
+                            <field name="date"/>
+                            <notebook colspan="4">
+                                <page string="Description">
+                                    <field name="description" nolabel="1" colspan="4"/>
+                                </page>
+                                <page string="Users">
+                                    <field name="user_ids" nolabel="1" colspan="4"/>
+                                </page>
+                            </notebook>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <!-- Student News Tree View -->
+        <record model="ir.ui.view" id="view_student_news_tree">
+            <field name="name">student.news.tree</field>
+            <field name="model">student.news</field>
+            <field name="arch" type="xml">
+                <tree string="News">
+                    <field name="subject"/>
+                    <field name="date"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Student News Search View -->
+        <record id="view_hr_student_news_search" model="ir.ui.view">
+            <field name="name">student.news.search</field>
+            <field name="model">student.news</field>
+            <field name="arch" type="xml">
+                <search string="News">
+                    <field name="subject"/>
+                    <field name="date"/>
+                </search>
+            </field>
+        </record>
+
+        <!-- Dashboard Event Kanban View -->
+        <record model="ir.ui.view" id="student_student_news_kanban_view">
+            <field name="name">Student News</field>
+            <field name="model">student.news</field>
+            <field name="arch" type="xml">
+                <kanban default_group_by="date">
+                    <field name="date"/>
+                    <field name="subject"/>
+                    <field name="color"/>
+                    <templates>
+                        <t t-name="kanban-box">
+                            <!-- <div class="oe_kanban_box oe_kanban_color_border"> -->
+                            <div
+                                t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
+                                <div class="oe_dropdown_toggle oe_dropdown_kanban">
+                                    <span class="oe_e">í</span>
+                                    <ul class="oe_dropdown_menu">
+                                        <t t-if="widget.view.is_action_enabled('edit')">
+                                            <li>
+                                                <a type="edit">Edit...</a>
+                                            </li>
+                                        </t>
+                                        <t t-if="widget.view.is_action_enabled('delete')">
+                                            <li>
+                                                <a type="delete">Delete</a>
+                                            </li>
+                                        </t>
+                                        <li>
+                                            <ul class="oe_kanban_colorpicker" data-field="color"/>
+                                        </li>
+                                    </ul>
+                                </div>
+                                <div
+                                    class="oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
+                                    <table class="oe_kanban_table">
+                                        <tr>
+                                            <td class="oe_kanban_title1" align="left" valign="middle"
+                                                style="padding-left:10px;">
+                                                <h4>
+                                                    <a type="open">
+                                                        <field name="date"/>
+                                                        <field name="subject"/>
+                                                    </a>
+                                                </h4>
+                                            </td>
+                                        </tr>
+                                    </table>
+                                </div>
+                                <div
+                                    class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
+                                    <table class="oe_kanban_table">
+                                        <tr width="300">
+                                            <td valign="top" align="left" style="padding-left:10px;">
+                                                <table>
+                                                    <tr>
+                                                        <t
+                                                            t-if="record.date.raw_value and record.date.raw_value lt (new Date())"
+                                                            t-set="red">oe_kanban_text_red</t>
+                                                        <span t-attf-class="#{red || ''}">
+                                                            <td>Date :</td>
+                                                            <td style="padding-left:10px;">
+                                                                <b>
+                                                                    <field name="date"/>
+                                                                </b>
+                                                            </td>
+                                                        </span>
+                                                    </tr>
+                                                    <tr>
+                                                        <td>Subject : </td>
+                                                        <td style="padding-left:10px;">
+                                                            <b>
+                                                                <field name="subject"/>
+                                                            </b>
+                                                        </td>
+                                                    </tr>
+                                                </table>
+                                            </td>
+                                        </tr>
+                                    </table>
+                                </div>
+                                <div
+                                    class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
+                                    <div class="oe_kanban_left">
+                                        <a string="Edit" icon="gtk-edit" type="edit" />
+                                        <a string="Change Color" icon="color-picker" type="color"
+                                            name="color" />
+                                    </div>
+                                    <br class="oe_kanban_clear"/>
+                                </div>
+                            </div>
+                        </t>
+                    </templates>
+                </kanban>
+            </field>
+        </record>
+
+        <!-- Student News Action -->
+        <record id="view_student_news" model="ir.actions.act_window">
+            <field name="name">News</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">student.news</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">kanban,tree,form</field>
+        </record>
+
+        <record id="view_parent_form" model="ir.ui.view">
+            <field name="name">res.partner.parent.form</field>
+            <field name="model">res.partner</field>
+            <field name="arch" type="xml">
+                <form string="Partners" col='1' >
+                    <sheet>
+                        <form string="Partner Contacts">
+                            <newline />
+                            <group colspan="2" col="4">
+                                <separator string="Postal Address" colspan="4" col="4"/>
+                                <field name="name" placeholder="Name"/>
+                                <field name="type" string="Type" colspan="2" placeholder="Address Type"/>
+                                <field name="street" placeholder="Street"/>
+                                <field name="street2" placeholder="Street2"/>
+                                <field name="zip" placeholder="Zip"/>
+                                <field name="city" placeholder="City"/>
+                                <field name="country_id" completion="1" placeholder="Country"/>
+                                <field name="state_id" placeholder="State"/>
+                            </group>
+                            <group colspan="2" col="2">
+                                <separator string="Communication" colspan="2" col="2"/>
+                                <group colspan="4" col="4">
+                                    <field name="phone" placeholder="Phone Number"/>
+                                    <field name="mobile" placeholder="Mobile Number"/>
+                                    <field name="fax" placeholder="Fax"/>
+                                    <field name="email" widget="email"/>
+                                </group>
+                            </group>
+                        </form>
+                        <group groups="base.group_extended">
+                            <separator colspan="4" string="Categories"/>
+                        </group>
+                        <group colspan="4" col="4">
+                            <separator string="Notes" colspan="4" col="4"/>
+                            <field colspan="4" name="comment" nolabel="1"/>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+        <record id="view_res_partner_parent_filter" model="ir.ui.view">
+            <field name="name">res.partner.parent.select</field>
+            <field name="model">res.partner</field>
+            <field name="arch" type="xml">
+                <search string="Search Partner">
+                    <group col='10' colspan='4'>
+                        <field name="name" select="1"/>
+                        <field name="country_id" select="1"/>
+                    </group>
+                </search>
+            </field>
+        </record>
+
+        <record id="view_parent_tree" model="ir.ui.view">
+            <field name="name">res.partner.tree</field>
+            <field name="model">res.partner</field>
+            <field eval="8" name="priority" />
+            <field name="arch" type="xml">
+                <tree string="Partners">
+                    <field name="name"/>
+                    <field name="phone"/>
+                    <field name="email"/>
+                    <field name="city"/>
+                    <field name="country_id"/>
+                </tree>
+            </field>
+        </record>
+
+        <!-- Parent Information Action -->
+        <record model="ir.actions.act_window" id="action_parent_form">
+            <field name="name">Parents</field>
+            <field name="res_model">res.partner</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">form,tree,kanban</field>
+            <field name="search_view_id" ref="view_res_partner_parent_filter"/>
+        </record>
+
+        <record id="action_partner_form_view1" model="ir.actions.act_window.view">
+            <field eval="10" name="sequence"/>
+            <field name="view_mode">tree</field>
+            <field name="view_id" ref="view_parent_tree"/>
+            <field name="act_window_id" ref="action_parent_form"/>
+        </record>
+
+        <record id="action_parent_form_view2" model="ir.actions.act_window.view">
+            <field eval="20" name="sequence"/>
+            <field name="view_mode">form</field>
+            <field name="view_id" ref="view_parent_form"/>
+            <field name="act_window_id" ref="action_parent_form"/>
+        </record>
+
+        <!--My Dashboard -->
+        <record model="ir.ui.view" id="board_my_dash_view">
+            <field name="name">My Dashboard</field>
+            <field name="model">board.board</field>
+            <field name="arch" type="xml">
+                <form string="My Dashboard" >
+                    <board style="2-1">
+                        <column>
+                            <action name="%(view_student_news)d" string="News Update"
+                                creatable="true"
+                                groups="school.group_school_student,school.group_school_administration, school.group_school_teacher,school.group_school_parent" />
+                        </column>
+                        <column>
+                            <action name="%(action_student_reminder)d" string="Reminder"
+                                creatable="true"
+                                groups="school.group_school_administration,school.group_school_student,school.group_school_teacher"/>
+                        </column>
+                    </board>
+                </form>
+            </field>
+        </record>
+
+        <!--My Dashboard Action -->
+        <record model="ir.actions.act_window" id="open_board_my_dash_action">
+            <field name="name">My Dashboard</field>
+            <field name="res_model">board.board</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">form</field>
+            <field name="usage">menu</field>
+            <field name="view_id" ref="board_my_dash_view"/>
+            <field name="help" type="html">
+                <div class="oe_empty_custom_dashboard">
+                    <p>
+                        <b>Your personal dashboard is empty.</b>
+                    </p>
+                    <p>
+                        To add your first report into this dashboard, go to any
+                        menu,
+                        switch to list or graph view, and click
+                        <i>'Add to
+                            Dashboard'
+                        </i>
+                        in the extended search options.
+                    </p>
+                    <p>
+                        You can filter and group data before inserting into the
+                        dashboard using the search options.
+                    </p>
+                </div>
+            </field>
+        </record>
+
+        <!-- School's Menu -->
+        <menuitem icon="terp-project" id="menu_ems" name="EMS"
+            sequence="4" web_icon="images/icon.png" web_icon_hover="images/hover.png"
+            action="open_board_my_dash_action"/>
+
+        <menuitem name="Configuration" parent="menu_ems" id="menu_configuration"
+            sequence="10" groups="group_school_administration"/>
+
+        <menuitem name="Students Profile" parent="menu_ems"
+            id="menu_student_profile" sequence="2"/>
+
+        <menuitem name="School Config" parent="menu_configuration"
+            id="menu_school_config_form1" sequence="1"/>
+
+        <menuitem name="GR No." parent="menu_school_config_form1" id="grn_menuid"
+            action="action_student_grn_form" sequence="10"/>
+
+        <menuitem name="Reminders" parent="menu_ems" id="menu_reminders"
+            sequence="8" />
+
+        <menuitem name="Reminder" parent="menu_reminders" id="menu_reminder"
+            action="action_student_reminder"/>
+
+        <menuitem name="Casts" parent="menu_ems" id="menu_casts"
+            sequence="7"/>
+
+        <menuitem name="Cast" parent="menu_casts" id="menu_cast"
+            action="action_student_cast_form_7"/>
+
+        <!-- new cast menu added in configure menu -->
+        <menuitem name="Cast" parent="menu_school_config_form1" id="menu_cast"
+            action="action_student_cast_form_7"/>
+
+        <menuitem name="Student Profiles" parent="menu_student_profile"
+            id="menu_sub_sub_student" action="action_student_student_form_12"/>
+
+        <menuitem name="Document Type" parent="menu_school_config_form1"
+            id="menu_sub_doc_type_sub_form" action="action_document_type_form"/>
+
+        <!-- new -->
+        <menuitem name="Grade" parent="menu_school_config_form1" id="submenu_sub_grade"
+            action="action_grade_master_form"/>
+
+        <!-- new -->
+        <menuitem name="Parents Details" parent="menu_student_profile"
+            id="menu_res_partner_form" action="action_parent_form"
+            groups="school.group_school_administration,school.group_school_student,school.group_school_teacher,school.group_school_parent"/>
+
+        <menuitem name="Admission Register" parent="menu_ems"
+            id="menu_admission_form" sequence="1"/>
+
+        <!-- new -->
+        <menuitem name="News / Update" parent="menu_school_config_form1"
+            id="submenu_sub_news" action="view_student_news"/>
+
+        <menuitem name="Admission Registers" parent="menu_admission_form"
+            id="menu_admission_register_sub_sub_form" action="action_student_student_form_2"/>
+
+        <!-- new -->
+        <menuitem name="School" parent="menu_school_config_form1" id="menu_school_school_sub_form"
+            action="action_school_school_form" sequence="1"/>
+
+        <menuitem name="Academic Years" parent="menu_configuration"
+            id="menu_academic_year_form"/>
+
+        <menuitem name="Years" parent="menu_academic_year_form" id="menu_academic_year_sub_form"
+            action="action_academic_year_form"/>
+
+        <menuitem name="Months" parent="menu_academic_year_form" id="menu_academic_month_form"
+            action="action_academic_month_form"/>
+
+        <menuitem name="Standards" parent="menu_configuration" id="menu_school_standard_form"/>
+
+        <menuitem name="Standard" parent="menu_school_standard_form"
+            id="menu_sub_school_standard_form" action="action_school_standard_form"/>
+
+        <menuitem name="Classes" parent="menu_school_standard_form"
+            id="menu_standard_standard_form" action="action_standard_standard_form"/>
+
+        <menuitem name="Divisions" parent="menu_school_standard_form"
+            id="menu_standard_division_form" action="action_standard_division_form"/>
+
+        <menuitem name="Mediums" parent="menu_school_standard_form"
+            id="menu_standard_medium_form" action="action_standard_medium_form"/>
+
+        <menuitem name="Subject" parent="menu_configuration" id="menu_subject_subject_form"
+            sequence="10"/>
+
+        <menuitem name="Elective Subject" parent="menu_subject_subject_form"
+            id="menu_subject_elective_form" action="action_elective_subject_form"
+            sequence="2"/>
+
+        <menuitem name="Subjects" parent="menu_subject_subject_form"
+            id="menu_subject_subject_sub_form" action="action_subject_subject_form"
+            sequence="1"/>
+
+        <!-- Inherit Company form view -->
+        <record model="ir.ui.view" id="view_company_form_inherit">
+            <field name="name">res.company.form</field>
+            <field name="model">res.company</field>
+            <field name="inherit_id" ref="base.view_company_form" />
+            <field name="arch" type="xml">
+                <field name="name" position="attributes">
+                    <attribute name="string">School Name</attribute>
+                </field>
+            </field>
+        </record>
+
+    </data>
+</openerp>

+ 17 - 0
security/.svn/all-wcprops

@@ -0,0 +1,17 @@
+K 25
+svn:wc:ra_dav:version-url
+V 38
+/svn/eduerp/!svn/ver/2/school/security
+END
+ir.model.access.csv
+K 25
+svn:wc:ra_dav:version-url
+V 58
+/svn/eduerp/!svn/ver/2/school/security/ir.model.access.csv
+END
+school_security.xml
+K 25
+svn:wc:ra_dav:version-url
+V 58
+/svn/eduerp/!svn/ver/2/school/security/school_security.xml
+END

+ 96 - 0
security/.svn/entries

@@ -0,0 +1,96 @@
+10
+
+dir
+25
+https://subversion.assembla.com/svn/eduerp/school/security
+https://subversion.assembla.com/svn/eduerp
+
+
+
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6df9b670-c5ec-4fb9-963b-ff4819e6ba42
+
+school_security.xml
+file
+
+
+
+
+2012-04-24T07:15:20.416586Z
+fd41ddc98c0a81cce92f3bf271dec2eb
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+594
+
+ir.model.access.csv
+file
+
+
+
+
+2012-04-24T07:15:20.416586Z
+1d0801602932e7bae5ec2645c2e957a0
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+5898
+

+ 62 - 0
security/.svn/text-base/ir.model.access.csv.svn-base

@@ -0,0 +1,62 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+
+"access_academic_year","academic.year","model_academic_year","group_school_administration",1,1,1,1
+"access_academic_month","academic.month","model_academic_month","group_school_administration",1,1,1,1
+"access_standard_medium","standard.medium","model_standard_medium","group_school_administration",1,1,1,1
+"access_standard_division","standard.division","model_standard_division","group_school_administration",1,1,1,1
+"access_subject_subject","subject.subject","model_subject_subject","group_school_administration",1,1,1,1
+"access_school_school","school.school","model_school_school","group_school_administration",1,1,1,1
+"access_standard_standard","standard.standard","model_standard_standard","group_school_administration",1,1,1,1
+"access_school_standard","school.standard","model_school_standard","group_school_administration",1,1,1,1
+"access_student_student","student.student","model_student_student","group_school_administration",1,1,1,1
+"access_hr_employee","hr.employee","model_hr_employee","group_school_administration",1,1,1,1
+"access_res_partner_address","res.partner.address","model_res_partner_address","group_school_administration",1,1,1,1
+"access_student_reference","student.reference","model_student_reference","group_school_administration",1,1,1,1
+"access_student_previous_school","student.previous.school","model_student_previous_school","group_school_administration",1,1,1,1
+"access_student_emergency_contact","student.emergency.contact","model_student_emergency_contact","group_school_administration",1,1,1,1
+
+"access_academic_year","academic.year","model_academic_year","group_school_parent",1,0,0,0
+"access_academic_month","academic.month","model_academic_month","group_school_parent",1,0,0,0
+"access_standard_medium","standard.medium","model_standard_medium","group_school_parent",1,0,0,0
+"access_standard_division","standard.division","model_standard_division","group_school_parent",1,0,0,0
+"access_subject_subject","subject.subject","model_subject_subject","group_school_parent",1,0,0,0
+"access_school_school","school.school","model_school_school","group_school_parent",1,0,0,0
+"access_standard_standard","standard.standard","model_standard_standard","group_school_parent",1,0,0,0
+"access_school_standard","school.standard","model_school_standard","group_school_parent",1,0,0,0
+"access_student_student","student.student","model_student_student","group_school_parent",1,0,0,0
+"access_hr_employee","hr.employee","model_hr_employee","group_school_parent",1,0,0,0
+"access_res_partner_address","res.partner.address","model_res_partner_address","group_school_parent",1,0,0,0
+"access_student_reference","student.reference","model_student_reference","group_school_parent",1,0,0,0
+"access_student_previous_school","student.previous.school","model_student_previous_school","group_school_parent",1,0,0,0
+"access_student_emergency_contact","student.emergency.contact","model_student_emergency_contact","group_school_parent",1,0,0,0
+
+"access_academic_year","academic.year","model_academic_year","group_school_student",1,0,0,0
+"access_academic_month","academic.month","model_academic_month","group_school_student",1,0,0,0
+"access_standard_medium","standard.medium","model_standard_medium","group_school_student",1,0,0,0
+"access_standard_division","standard.division","model_standard_division","group_school_student",1,0,0,0
+"access_subject_subject","subject.subject","model_subject_subject","group_school_student",1,0,0,0
+"access_school_school","school.school","model_school_school","group_school_student",1,0,0,0
+"access_standard_standard","standard.standard","model_standard_standard","group_school_student",1,0,0,0
+"access_school_standard","school.standard","model_school_standard","group_school_student",1,0,0,0
+"access_student_student","student.student","model_student_student","group_school_student",1,0,0,0
+"access_hr_employee","hr.employee","model_hr_employee","group_school_student",1,0,0,0
+"access_res_partner_address","res.partner.address","model_res_partner_address","group_school_student",1,0,0,0
+"access_student_reference","student.reference","model_student_reference","group_school_student",1,0,0,0
+"access_student_previous_school","student.previous.school","model_student_previous_school","group_school_student",1,0,0,0
+"access_student_emergency_contact","student.emergency.contact","model_student_emergency_contact","group_school_student",1,0,0,0
+
+"access_academic_year","academic.year","model_academic_year","group_school_teacher",1,0,0,0
+"access_academic_month","academic.month","model_academic_month","group_school_teacher",1,0,0,0
+"access_standard_medium","standard.medium","model_standard_medium","group_school_teacher",1,0,0,0
+"access_standard_division","standard.division","model_standard_division","group_school_teacher",1,0,0,0
+"access_subject_subject","subject.subject","model_subject_subject","group_school_teacher",1,0,0,0
+"access_school_school","school.school","model_school_school","group_school_teacher",1,0,0,0
+"access_standard_standard","standard.standard","model_standard_standard","group_school_teacher",1,0,0,0
+"access_school_standard","school.standard","model_school_standard","group_school_teacher",1,0,0,0
+"access_student_student","student.student","model_student_student","group_school_teacher",1,0,0,0
+"access_hr_employee","hr.employee","model_hr_employee","group_school_teacher",1,1,0,0
+"access_res_partner_address","res.partner.address","model_res_partner_address","group_school_teacher",1,0,0,0
+"access_student_reference","student.reference","model_student_reference","group_school_teacher",1,0,0,0
+"access_student_previous_school","student.previous.school","model_student_previous_school","group_school_teacher",1,0,0,0
+"access_student_emergency_contact","student.emergency.contact","model_student_emergency_contact","group_school_teacher",1,0,0,0
+

+ 23 - 0
security/.svn/text-base/school_security.xml.svn-base

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+	<data noupdate="1">
+
+		<record id="group_school_administration" model="res.groups">
+		    <field name="name">My School / Administrator</field>
+		</record>
+
+		<record id="group_school_teacher" model="res.groups">
+		    <field name="name">My School / Teacher</field>
+		</record>
+
+		<record id="group_school_student" model="res.groups">
+		    <field name="name">My School / Student</field>
+		</record>
+
+		<record id="group_school_parent" model="res.groups">
+		    <field name="name">My School / Parent</field>
+		</record>
+
+   
+	</data>
+</openerp>

+ 135 - 0
security/ir.model.access.csv

@@ -0,0 +1,135 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+,,,,,,,
+access_academic_year_admin,academic.year,model_academic_year,group_school_administration,1,1,1,1
+access_academic_month_admin,academic.month,model_academic_month,group_school_administration,1,1,1,1
+access_standard_medium_admin,standard.medium,model_standard_medium,group_school_administration,1,1,1,1
+access_standard_division_admin,standard.division,model_standard_division,group_school_administration,1,1,1,1
+access_subject_subject_admin,subject.subject,model_subject_subject,group_school_administration,1,1,1,1
+access_school_school_admin,school.school,model_school_school,group_school_administration,1,1,1,1
+access_standard_standard_admin,standard.standard,model_standard_standard,group_school_administration,1,1,1,1
+access_school_standard_admin,school.standard,model_school_standard,group_school_administration,1,1,1,1
+access_student_student_admin,student.student,model_student_student,group_school_administration,1,1,1,1
+access_hr_employee_admin,hr.employee,model_hr_employee,group_school_administration,1,1,1,1
+access_res_partner_admin,res.partner,model_res_partner,group_school_administration,1,1,1,1
+access_student_reference_admin,student.reference,model_student_reference,group_school_administration,1,1,1,1
+access_student_previous_school_admin,student.previous.school,model_student_previous_school,group_school_administration,1,1,1,1
+access_subject_elective_admin,subject.elective,model_subject_elective,group_school_administration,1,1,1,1
+access_mother_toungue_admin,mother.toungue,model_mother_toungue,group_school_administration,1,1,1,1
+access_student_award_admin,student.award,model_student_award,group_school_administration,1,1,1,1
+access_attendance_type_admin,attendance.type,model_attendance_type,group_school_administration,1,1,1,1
+access_student_document_admin,student.document,model_student_document,group_school_administration,1,1,1,1
+access_document_type_admin,document.type,model_document_type,group_school_administration,1,1,1,1
+access_student_description_admin,student.description,model_student_description,group_school_administration,1,1,1,1
+access_student_descipline_admin,student.descipline,model_student_descipline,group_school_administration,1,1,1,1
+access_student_history_admin,student.history,model_student_history,group_school_administration,1,1,1,1
+access_student_certificate_admin,student.certificate,model_student_certificate,group_school_administration,1,1,1,1
+access_academic_subject_admin,academic.subject,model_academic_subject,group_school_administration,1,1,1,1
+access_student_family_contact_admin,student.family.contact,model_student_family_contact,group_school_administration,1,1,1,1
+access_student_relation_master_admin,student.relation.master,model_student_relation_master,group_school_administration,1,1,1,1
+access_grade_master_admin,grade.master,model_grade_master,group_school_administration,1,1,1,1
+access_grade_line_admin,grade.line,model_grade_line,group_school_administration,1,1,1,1
+access_admin_news_admin,student.news,school.model_student_news,group_school_administration,1,1,1,1
+access_admin_reminder_admin,student.reminder,school.model_student_reminder,group_school_administration,1,1,1,1
+access_student_cast_admin,student.cast,model_student_cast,group_school_administration,1,1,1,1
+access_student_grn_admin,student.grn,model_student_grn,group_school_administration,1,1,1,1
+access_res_users_admin,res.users,base.model_res_users,group_school_administration,1,1,1,1
+access_subject_syllabus_admin,subject.syllabus,model_subject_syllabus,group_school_administration,1,1,1,1
+access_academic_year_parent,academic.year,model_academic_year,group_school_parent,1,0,0,0
+access_academic_month_parent,academic.month,model_academic_month,group_school_parent,1,0,0,0
+access_standard_medium_parent,standard.medium,model_standard_medium,group_school_parent,1,0,0,0
+access_standard_division_parent,standard.division,model_standard_division,group_school_parent,1,0,0,0
+access_subject_subject_parent,subject.subject,model_subject_subject,group_school_parent,1,0,0,0
+access_school_school_parent,school.school,model_school_school,group_school_parent,1,0,0,0
+access_standard_standard_parent,standard.standard,model_standard_standard,group_school_parent,1,0,0,0
+access_school_standard_parent,school.standard,model_school_standard,group_school_parent,1,0,0,0
+access_student_student_parent,student.student,model_student_student,group_school_parent,1,0,0,0
+access_subject_elective_parent,subject.elective,model_subject_elective,group_school_parent,1,0,0,0
+access_mother_toungue_parent,mother.toungue,model_mother_toungue,group_school_parent,1,0,0,0
+access_student_award_parent,student.award,model_student_award,group_school_parent,1,0,0,0
+access_attendance_type_parent,attendance.type,model_attendance_type,group_school_parent,1,0,0,0
+access_student_document_parent,student.document,model_student_document,group_school_parent,1,0,0,0
+access_document_type_parent,document.type,model_document_type,group_school_parent,1,0,0,0
+access_student_description_parent,student.description,model_student_description,group_school_parent,1,0,0,0
+access_student_descipline_parent,student.descipline,model_student_descipline,group_school_parent,1,0,0,0
+access_student_history_parent,student.history,model_student_history,group_school_parent,1,0,0,0
+access_student_certificate_parent,student.certificate,model_student_certificate,group_school_parent,1,0,0,0
+access_res_partner_parent,res.partner,model_res_partner,group_school_parent,1,0,0,0
+access_academic_subject_parent,academic.subject,model_academic_subject,group_school_parent,1,0,0,0
+access_student_family_contact_parent,student.family.contact,model_student_family_contact,group_school_parent,1,0,0,0
+access_student_relation_master_parent,student.relation.master,model_student_relation_master,group_school_parent,1,0,0,0
+access_grade_master_parent,grade.master,model_grade_master,group_school_parent,1,0,0,0
+access_grade_line_parent,grade.line,model_grade_line,group_school_parent,1,0,0,0
+access_teacher_reminder_parent,student.reminder,model_student_reminder,group_school_parent,1,0,0,0
+access_student_cast_parent,student.cast,model_student_cast,group_school_parent,1,0,0,0
+access_hr_employee_parent,hr.employee,model_hr_employee,group_school_parent,1,0,0,0
+access_student_reference_parent,student.reference,model_student_reference,group_school_parent,1,0,0,0
+access_student_previous_school_parent,student.previous.school,model_student_previous_school,group_school_parent,1,0,0,0
+access_parent_news_parent,student.news,model_student_news,group_school_parent,1,0,0,0
+access_student_grn_parent,student.grn,model_student_grn,group_school_parent,1,0,0,0
+access_subject_syllabus_parent,subject.syllabus,model_subject_syllabus,group_school_parent,1,0,0,0
+access_standard_medium_student,standard.medium,school.model_standard_medium,group_school_student,1,0,0,0
+access_subject_subject_student,subject.subject,school.model_subject_subject,group_school_student,1,0,0,0
+access_school_school_student,school.school,school.model_school_school,group_school_student,1,0,0,0
+access_hr_employee_student,hr.employee,model_hr_employee,group_school_student,1,0,0,0
+access_subject_elective_student,subject.elective,model_subject_elective,group_school_student,1,0,0,0
+access_mother_toungue_student,mother.toungue,school.model_mother_toungue,group_school_student,1,0,0,0
+access_attendance_type_student,attendance.type,model_attendance_type,group_school_student,1,0,0,0
+access_document_type_student,document.type,model_document_type,group_school_student,1,0,0,0
+access_res_partner_student,res.partner,model_res_partner,group_school_student,1,0,0,0
+access_academic_subject_student,academic.subject,model_academic_subject,group_school_student,1,0,0,0
+access_student_relation_master_student,student.relation.master,model_student_relation_master,group_school_student,1,1,0,0
+access_student_cast_student,student.cast,school.model_student_cast,group_school_student,1,1,0,0
+access_student_history_stu,student.history,school.model_student_history,group_school_student,1,0,0,0
+access_student_descipline_student,student.descipline,model_student_descipline,group_school_student,1,0,0,0
+access_student_document_student,student.document,model_student_document,group_school_student,1,0,0,0
+access_student_reminder_student,student.reminder,model_student_reminder,group_school_student,1,1,1,1
+access_student_description_student,student.description,school.model_student_description,group_school_student,1,0,0,0
+access_student_news_student,student.news,model_student_news,group_school_student,1,0,0,0
+access_student_certificate_studnet,student.certificate,school.model_student_certificate,group_school_student,1,0,0,0
+access_student_award_student,student.award,school.model_student_award,group_school_student,1,0,0,0
+access_student_previous_school_student,student.previous.school,school.model_student_previous_school,group_school_student,1,0,0,0
+access_student_family_contact_student,student.family.contact,school.model_student_family_contact,group_school_student,1,0,0,0
+access_student_grn_stu_user_student,student.grn,school.model_student_grn,group_school_student,1,0,0,0
+access_student_reference_student,student.reference,school.model_student_reference,group_school_student,1,0,0,0
+access_student_student_user,student.student,school.model_student_student,group_school_student,1,1,0,0
+access_academic_month_student,academic.month,school.model_academic_month,group_school_student,1,0,0,0
+access_academic_year_student,academic.year,school.model_academic_year,group_school_student,1,0,0,0
+access_grade_master_sudent,grade.master,school.model_grade_master,group_school_student,1,0,0,0
+access_standard_division_student,standard.division,school.model_standard_division,group_school_student,1,0,0,0
+access_standard_standard_student,standard.standard,school.model_standard_standard,group_school_student,1,0,0,0
+access_grade_line_student,grade.line,school.model_grade_line,group_school_student,1,0,0,0
+access_school_standard_user_student,school.standard,school.model_school_standard,group_school_student,1,0,0,0
+access_subject_syllabus_student,subject.syllabus,model_subject_syllabus,group_school_student,1,0,0,0
+access_academic_year_teacher,academic.year,model_academic_year,group_school_teacher,1,0,0,0
+access_academic_month_teacher,academic.month,model_academic_month,group_school_teacher,1,0,0,0
+access_standard_medium_teacher,standard.medium,model_standard_medium,group_school_teacher,1,1,1,0
+access_standard_division_teacher,standard.division,model_standard_division,group_school_teacher,1,1,1,0
+access_subject_subject_teacher,subject.subject,model_subject_subject,group_school_teacher,1,1,1,0
+access_school_school_teacher,school.school,model_school_school,group_school_teacher,1,1,0,0
+access_standard_standard_teacher,standard.standard,model_standard_standard,group_school_teacher,1,1,0,0
+access_school_standard_teacher,school.standard,model_school_standard,group_school_teacher,1,1,1,0
+access_student_student_teacher,student.student,model_student_student,group_school_teacher,1,1,1,0
+access_subject_elective_teacher,subject.elective,model_subject_elective,group_school_teacher,1,1,1,0
+access_hr_employee_teacher,hr.employee,model_hr_employee,group_school_teacher,1,1,0,0
+access_student_reference_teacher,student.reference,model_student_reference,group_school_teacher,1,1,1,0
+access_student_previous_school_teacher,student.previous.school,model_student_previous_school,group_school_teacher,1,1,1,0
+access_mother_toungue_teacher,mother.toungue,model_mother_toungue,group_school_teacher,1,0,0,0
+access_attendance_type_teacher,attendance.type,model_attendance_type,group_school_teacher,1,1,1,0
+access_student_award_teacher,student.award,model_student_award,group_school_teacher,1,1,1,0
+access_student_document_teacher,student.document,model_student_document,group_school_teacher,1,1,1,0
+access_document_type_teacher,document.type,model_document_type,group_school_teacher,1,1,1,0
+access_student_description_teacher,student.description,model_student_description,group_school_teacher,1,1,1,0
+access_res_partner_teacher,res.partner,model_res_partner,group_school_teacher,1,0,0,0
+access_student_descipline_teacher,student.descipline,model_student_descipline,group_school_teacher,1,1,1,0
+access_student_history_teacher,student.history,model_student_history,group_school_teacher,1,1,1,0
+access_student_certificate_teacher,student.certificate,model_student_certificate,group_school_teacher,1,1,1,0
+access_academic_subject_teacher,academic.subject,model_academic_subject,group_school_teacher,1,1,1,0
+access_student_family_contact_teacher,student.family.contact,model_student_family_contact,group_school_teacher,1,0,0,0
+access_student_relation_master_teacher,student.relation.master,model_student_relation_master,group_school_teacher,1,0,0,0
+access_grade_master_teacher,grade.master,model_grade_master,group_school_teacher,1,1,1,0
+access_grade_line_teacher,grade.line,model_grade_line,group_school_teacher,1,1,1,0
+access_student_cast_teacher,student.cast,model_student_cast,group_school_teacher,1,0,0,0
+access_teacher_news_teacher,student.news,model_student_news,group_school_teacher,1,1,1,1
+access_teacher_reminder_teacher,student.reminder,model_student_reminder,group_school_teacher,1,1,1,1
+access_student_grn_teacher,student.grn,model_student_grn,group_school_teacher,1,1,1,0
+access_subject_syllabus_teacher,subject.syllabus,model_subject_syllabus,group_school_teacher,1,1,1,0

+ 91 - 0
security/school_security.xml

@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+
+        <record model="ir.module.category" id="module_category_school">
+                <field name="name">School Management</field>
+                <field name="sequence">22</field>
+        </record>
+        <record id="group_school_administration" model="res.groups">
+                <field name="name">School Administrator</field>
+                <field name="category_id" ref="module_category_school"/>
+        </record>
+
+        <record id="group_school_teacher" model="res.groups">
+                <field name="name">School Teacher</field>
+                <field name="category_id" ref="module_category_school"/>
+        </record>
+
+        <record id="group_school_student" model="res.groups">
+                <field name="name">School Student</field>
+                <field name="category_id" ref="module_category_school"/>
+        </record>
+
+        <record id="group_school_parent" model="res.groups">
+                <field name="name">Student Parent</field>
+                <field name="category_id" ref="module_category_school"/>
+        </record>
+
+        <record id="school_rule_personal_school" model="ir.rule">
+                <field name="name">School</field>
+                <field ref="model_school_school" name="model_id"/>
+                <field name="domain_force">['|','|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id]),('company_id','=',False)]</field>
+                <field name="groups" eval="[(4, ref('group_school_teacher')),(4, ref('group_school_student')),(4, ref('group_school_parent'))]"/> 
+        </record>
+        
+        <!-- Record Rule for student profile info for Student -->
+        <record id="student_rule_student_profile_record" model="ir.rule">
+            <field name="name">Personal Student Profile Record</field>
+            <field ref="model_student_student" name="model_id"/>
+            <field eval="1" name="global"/>
+            <field name="domain_force">[('user_id','=',user.id)]</field>
+            <field name="groups" eval="[(4, ref('group_school_student'))]"/>
+         </record>
+         
+        <!-- Record Rule for student profile info for admin for multi company -->
+        <record id="student_rule_multi_company_profile_record_admin" model="ir.rule">
+            <field name="name">Personal Student multi company Record Admin</field>
+            <field ref="model_student_student" name="model_id"/>
+            <field eval="True" name="global"/>
+            <field name="domain_force"> ['|','|',('cmp_id.child_ids','child_of',[user.company_id.id]),('cmp_id','child_of',[user.company_id.id]),('cmp_id','in',False)]</field>
+            <field name="groups" eval="[(4, ref('group_school_administration'))]"/>
+         </record>
+         
+         <!-- Record Rule for student profile info for teacher for multi company -->
+        <record id="student_rule_multi_company_profile_record_teacher" model="ir.rule">
+            <field name="name">Personal Student multi company Record Teacher</field>
+            <field ref="model_student_student" name="model_id"/>
+            <field eval="True" name="global"/>
+            <field name="domain_force"> [('cmp_id.id','in',[user.company_id.id])]</field>
+            <field name="groups" eval="[(4, ref('group_school_teacher'))]"/>
+         </record>
+         
+         <!-- Record Rule for standard info for admin for multi company -->
+        <record id="standard_rule_multi_company_profile_record" model="ir.rule">
+            <field name="name">Standard multi company Record Admin</field>
+            <field ref="model_school_standard" name="model_id"/>
+            <field eval="True" name="global"/>
+            <field name="domain_force"> ['|','|',('cmp_id.child_ids','child_of',[user.company_id.id]),('cmp_id','child_of',[user.company_id.id]),('cmp_id','in',False)]</field>
+            <field name="groups" eval="[(4, ref('group_school_administration'))]"/>
+         </record>
+         
+         <!-- Record Rule for standard info for teacher for multi company -->
+        <record id="student_rule_multi_company_profile_record" model="ir.rule">
+            <field name="name">Standard multi company Record Teacher</field>
+            <field ref="model_school_standard" name="model_id"/>
+            <field eval="True" name="global"/>
+            <field name="domain_force"> [('cmp_id.id','in',[user.company_id.id])]</field>
+            <field name="groups" eval="[(4, ref('group_school_teacher'))]"/>
+         </record>
+         
+        <!-- Record Rule for News Update for student and Teacher -->
+          <record id="student_rule_news_update_record" model="ir.rule">
+            <field name="name">News Update Record</field>
+            <field ref="model_student_news" name="model_id"/>
+            <field eval="1" name="global"/>
+            <field name="domain_force">[('user_ids.id','=',user.id)]</field>
+            <field name="groups" eval="[(4, ref('school.group_school_student')),(4, ref('school.group_school_teacher'))]"/>
+         </record>  
+
+    </data>
+</openerp>

+ 5 - 0
static/.svn/all-wcprops

@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 36
+/svn/eduerp/!svn/ver/2/school/static
+END

+ 31 - 0
static/.svn/entries

@@ -0,0 +1,31 @@
+10
+
+dir
+25
+https://subversion.assembla.com/svn/eduerp/school/static
+https://subversion.assembla.com/svn/eduerp
+
+
+
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6df9b670-c5ec-4fb9-963b-ff4819e6ba42
+
+src
+dir
+

BIN
static/description/ems_stud_reg.png


BIN
static/description/icon.png


+ 102 - 0
static/description/index.html

@@ -0,0 +1,102 @@
+<section class="oe_container oe_dark">
+    <div class='oe_cover'>
+    <a href="http://www.serpentcs.com" target="new" ><img src="serpent_logo.png" align="right"></a>
+	</div>
+</section>
+
+<section class="oe_container">
+    <div class="oe_row oe_spaced">
+        <h2 class="oe_slogan">School Management Made Easy</h2>
+        <h3 class="oe_slogan">	 in just a few clicks</h3>
+        <div class="oe_span6">
+            <div class="oe_demo oe_picture oe_screenshot">
+                    <img src="main.png">
+            </div>
+        </div>
+        <div class="oe_span6">
+        	<p class='oe_mt32'>
+				Manage School in a matter of seconds.<br/>
+            </p>
+            <p class='oe_mt32'>
+				Create and Configure your school, classes, subjects and mediums from one screen.
+				Academic year wise management of school. 
+            </p>
+        </div>
+    </div>
+</section>
+
+<section class="oe_container oe_dark">
+    <div class="oe_row">
+        <h2 class="oe_slogan">Student Management</h2>
+        <h3 class="oe_slogan">So many features, so easy to use</h3>
+        <div class="oe_span6">
+            <p class='oe_mt32'>
+				Drive your Student operations from admission registers to student profiles with all the information
+				you need, easily accessible. Keep track of students, school, automate reminder, news
+				and update on Dash board when they have things to do.
+            </p>
+        </div>
+        <div class="oe_span6">
+            <div class="oe_bg_img">
+                <img class="oe_picture oe_screenshot" src="school1.png">
+            </div>
+        </div>
+    </div>
+</section>
+
+<section class="oe_container">
+    <div class="oe_row">
+        <h2 class="oe_slogan">Fully Integrated</h2>
+        <h3 class="oe_slogan">The information your need, where you need it</h3>
+        <div class="oe_span6">
+            <div class="oe_bg_img">
+                <img class="oe_picture oe_screenshot" src="school_stud_info.png">
+            </div>
+        </div>
+        <div class="oe_span6">
+            <p class='oe_mt32'>
+                Saving time for review student's personal info, family info, awards, certificates and remarks
+                related information; they are all conveniently accessible when
+                viewing student.
+        </div>
+    </div>
+</section>
+
+
+
+<section class="oe_container oe_dark">
+    <div class="oe_row">
+        <h2 class="oe_slogan">Your Grade System</h2>
+        <div class="oe_span6">
+            <p class='oe_mt32'>
+Load and Manage grade system of your school.
+            </p>
+            
+        </div>
+        <div class="oe_span6">
+            <div class="oe_bg_img">
+                <img class="oe_picture oe_screenshot" src="school_grade.png">
+            </div>
+        </div>
+   </div>
+</section>
+
+<section class="oe_container">
+    <h2 class="oe_slogan">News Update and Reminders</h2>
+    <h3 class="oe_slogan"></h3>
+    <div class="oe_row">
+        <div class="oe_span6">
+            <div class="oe_bg_img">
+                <img class="oe_picture oe_screenshot" src="school_news.png">
+            </div>
+        </div>
+        <div class="oe_span6">
+            <p class='oe_mt32'>
+                Set latest news updates of school on the dash board automatically.
+            </p>
+            <p class='oe_mt32'>
+               	Manage and Get reminders about things going to be happen.
+            </p>
+        </div>
+   </div>
+</section>

BIN
static/description/main.png


BIN
static/description/school.png


BIN
static/description/school1.png


BIN
static/description/school_grade.png


BIN
static/description/school_news.png


BIN
static/description/school_stud_info.png


BIN
static/description/serpent_logo.png


+ 82 - 0
student_sequence.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+
+        <record id="sequence_type_grn" model='ir.sequence.type'>
+                <field name="name">General Reg Number</field>
+                <field name="code">student.grn</field>
+        </record>
+            
+        <record id="sequence_grn" model="ir.sequence">
+             <field name="name">GRN</field>
+             <field name="code">student.grn</field>
+             <field name="padding">4</field>
+             <field name="prefix"></field>
+             <field name="suffix"></field>
+             <field name="number_next">1</field>
+             <field name="number_increment">1</field>
+        </record>
+        
+        <!-- Sequences for student.code (student code) -->
+        <record id="seq_student_code_type" model="ir.sequence.type">
+            <field name="name">Student code</field>
+            <field name="code">student.code</field>
+        </record>
+
+        <record id="seq_student_code" model="ir.sequence">
+            <field name="name">Student code</field>
+            <field name="code">student.code</field>
+            <field name="padding">3</field>
+        </record>
+        
+        <!-- Sequences for student.registration (Registration code) -->
+        <record id="seq_student_reg_type" model="ir.sequence.type">
+            <field name="name">Registration code</field>
+            <field name="code">student.registration</field>
+        </record>
+
+        <record id="seq_student_reg" model="ir.sequence">
+            <field name="name">Student registration code</field>
+            <field name="code">student.registration</field>
+            <field name="padding">3</field>
+        </record>
+        
+        <!-- Sequences for student.student (Personal Identification Number) -->
+        <record id="seq_student_student_type" model="ir.sequence.type">
+            <field name="name">Personal Identification Number</field>
+            <field name="code">student.student</field>
+        </record>
+
+        <record id="seq_student_student" model="ir.sequence">
+            <field name="name">Student</field>
+            <field name="code">student.student</field>
+            <field name="prefix">%(year)s/%(month)s/</field>
+            <field name="padding">3</field>
+        </record>
+        
+        <record id="seq_student_document_type" model="ir.sequence.type">
+            <field name="name">File Number</field>
+            <field name="code">student.document</field>
+        </record>
+        
+        <record id="seq_student_document" model="ir.sequence">
+            <field name="name">Document</field>
+            <field name="code">student.document</field>
+            <field name="prefix">F</field>
+            <field name="padding">3</field>
+        </record>
+        
+        
+        <record id="seq_student_seq_no" model="ir.sequence.type">
+            <field name="name">Sequence Number</field>
+            <field name="code">document.type</field>
+        </record>
+        
+        <record id="seq_student_sequence" model="ir.sequence">
+            <field name="name">sequence</field>
+            <field name="code">document.type</field>
+            <field name="padding">1</field>
+        </record>
+        
+    </data>
+</openerp>

+ 17 - 0
test/.svn/all-wcprops

@@ -0,0 +1,17 @@
+K 25
+svn:wc:ra_dav:version-url
+V 34
+/svn/eduerp/!svn/ver/2/school/test
+END
+school_test.yml
+K 25
+svn:wc:ra_dav:version-url
+V 50
+/svn/eduerp/!svn/ver/2/school/test/school_test.yml
+END
+assign_roll_no_test.yml
+K 25
+svn:wc:ra_dav:version-url
+V 58
+/svn/eduerp/!svn/ver/2/school/test/assign_roll_no_test.yml
+END

+ 96 - 0
test/.svn/entries

@@ -0,0 +1,96 @@
+10
+
+dir
+25
+https://subversion.assembla.com/svn/eduerp/school/test
+https://subversion.assembla.com/svn/eduerp
+
+
+
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6df9b670-c5ec-4fb9-963b-ff4819e6ba42
+
+school_test.yml
+file
+
+
+
+
+2012-04-24T07:15:20.148586Z
+da0196fc83e45cb588aba2c83a84734a
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3012
+
+assign_roll_no_test.yml
+file
+
+
+
+
+2012-04-24T07:15:20.148586Z
+aca2980bd668184ce4a8c5eff15faa8d
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+689
+

+ 20 - 0
test/.svn/text-base/assign_roll_no_test.yml.svn-base

@@ -0,0 +1,20 @@
+-
+  I called the 'assign_roll_no' wizard
+-
+  !record {model: assign.roll.no, id: assign_roll_no_0}:
+    class_id: demo_standard_standard_1
+    medium_id: demo_standard_medium_1
+    division_id: demo_standard_division_1
+ 
+-
+  I clicked on Finish Button
+
+-
+  !python {model: assign.roll.no}: |
+    self.assign_rollno(cr, uid, [ref("assign_roll_no_0")], {"lang": 'en_US',
+      "active_model": "student.student", "active_ids": [ref("school.demo_student_student_1"),ref("school.demo_student_student_2"),ref("school.demo_student_student_3"),ref("school.demo_student_student_4"),ref("school.demo_student_student_5")],
+      "tz": False, "active_id": ref("school.demo_student_student_1"), })
+
+
+
+

+ 103 - 0
test/.svn/text-base/school_test.yml.svn-base

@@ -0,0 +1,103 @@
+-
+  I check '_check_academic_year' and '_check_duration' constraint
+-
+  !record {model: academic.year, id: academic_year_0}:
+    name: Academic Year 2011
+    code: 2011
+    date_start: 2012-01-01
+    date_stop: 2012-12-31
+-
+  I check '_check_year_limit' and '_check_duration' constraint
+-
+  !record {model: academic.month, id: academic_month_0}:
+    name: January
+    code: 1
+    date_start: 2012-01-01
+    date_stop: 2012-01-31
+    year_id: academic_year_0
+
+-
+  I Create School
+-
+  !record {model: school.school, id: school_demo_1}:
+    name: Swaminarayan Gurukul
+    code: GRL
+-
+  I called '_calc_age' function
+-
+  !record {model: student.student, id: student_student_0}:
+    year: demo_academic_year_1
+    class_id: demo_standard_standard_1
+    medium_id: demo_standard_medium_1
+    division_id: demo_standard_division_1
+    roll_no: 2
+    name: Divyesh
+    middle: J
+    last: Makwana
+    gender: male
+    date_of_birth: 1988-08-29
+    admission_date: 2011-08-09
+    school_id: school_demo_1
+    state: done
+
+-
+  I compute the age of a student
+-
+  !python {model: student.student}: |
+    self._calc_age(cr, uid, [ref("student_student_0")], 'age', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+-
+  I confirm 'admission' using Confirm button
+-
+  !python {model: student.student}: |
+    self.admission_confirm(cr, uid, [ref("student_student_0")], None)
+
+-
+  I done 'admission' using Done button
+-
+  !python {model: student.student}: |
+    self.admission_done(cr, uid, [ref("student_student_0")], None)
+
+-
+  I cancel 'admission' using Cancel button
+-
+  !python {model: student.student}: |
+    self.admission_cancel(cr, uid, [ref("student_student_0")], None)
+
+-
+  I Reset the 'admission' using Reset To Draft button
+-
+  !python {model: student.student}: |
+    self.admission_draft(cr, uid, [ref("student_student_0")], None)
+
+-
+  I computes the subjects related to particular teacher
+-
+  !python {model: hr.employee}: |
+    self._compute_subject(cr, uid, [ref("school.demo_student_student_6")], 'subject_ids', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+
+-
+  I computes the subjects related to particular standard
+-
+  !python {model: school.standard}: |
+    self._compute_subject(cr, uid, [ref("school.demo_school_standard_1")], 'subject_ids', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+
+-
+  I computes the student related to particular standard
+-
+  !python {model: school.standard}: |
+    self._compute_student(cr, uid, [ref("school.demo_student_student_1")], 'student_ids', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+
+
+

+ 20 - 0
test/assign_roll_no_test.yml

@@ -0,0 +1,20 @@
+-
+  I called the 'assign_roll_no' wizard
+-
+  !record {model: assign.roll.no, id: assign_roll_no_0}:
+    class_id: demo_standard_standard_1
+    medium_id: demo_standard_medium_1
+    division_id: demo_standard_division_1
+ 
+-
+  I clicked on Finish Button
+
+-
+  !python {model: assign.roll.no}: |
+    self.assign_rollno(cr, uid, [ref("assign_roll_no_0")], {"lang": 'en_US',
+      "active_model": "student.student", "active_ids": [ref("school.demo_student_student_1"),ref("school.demo_student_student_2"),ref("school.demo_student_student_3"),ref("school.demo_student_student_4"),ref("school.demo_student_student_5")],
+      "tz": False, "active_id": ref("school.demo_student_student_1"), })
+
+
+
+

+ 103 - 0
test/school_test.yml

@@ -0,0 +1,103 @@
+-
+  I check '_check_academic_year' and '_check_duration' constraint
+-
+  !record {model: academic.year, id: academic_year_0}:
+    name: Academic Year 2011
+    code: 2011
+    date_start: 2012-01-01
+    date_stop: 2012-12-31
+-
+  I check '_check_year_limit' and '_check_duration' constraint
+-
+  !record {model: academic.month, id: academic_month_0}:
+    name: January
+    code: 1
+    date_start: 2012-01-01
+    date_stop: 2012-01-31
+    year_id: academic_year_0
+
+-
+  I Create School
+-
+  !record {model: school.school, id: school_demo_1}:
+    name: Swaminarayan Gurukul
+    code: GRL
+-
+  I called '_calc_age' function
+-
+  !record {model: student.student, id: student_student_0}:
+    year: demo_academic_year_1
+    class_id: demo_standard_standard_1
+    medium_id: demo_standard_medium_1
+    division_id: demo_standard_division_1
+    roll_no: 2
+    name: Divyesh
+    middle: J
+    last: Makwana
+    gender: male
+    date_of_birth: 1988-08-29
+    admission_date: 2011-08-09
+    school_id: school_demo_1
+    state: done
+
+-
+  I compute the age of a student
+-
+  !python {model: student.student}: |
+    self._calc_age(cr, uid, [ref("student_student_0")], 'age', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+-
+  I confirm 'admission' using Confirm button
+-
+  !python {model: student.student}: |
+    self.admission_confirm(cr, uid, [ref("student_student_0")], None)
+
+-
+  I done 'admission' using Done button
+-
+  !python {model: student.student}: |
+    self.admission_done(cr, uid, [ref("student_student_0")], None)
+
+-
+  I cancel 'admission' using Cancel button
+-
+  !python {model: student.student}: |
+    self.admission_cancel(cr, uid, [ref("student_student_0")], None)
+
+-
+  I Reset the 'admission' using Reset To Draft button
+-
+  !python {model: student.student}: |
+    self.admission_draft(cr, uid, [ref("student_student_0")], None)
+
+-
+  I computes the subjects related to particular teacher
+-
+  !python {model: hr.employee}: |
+    self._compute_subject(cr, uid, [ref("school.demo_student_student_6")], 'subject_ids', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+
+-
+  I computes the subjects related to particular standard
+-
+  !python {model: school.standard}: |
+    self._compute_subject(cr, uid, [ref("school.demo_school_standard_1")], 'subject_ids', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+
+-
+  I computes the student related to particular standard
+-
+  !python {model: school.standard}: |
+    self._compute_student(cr, uid, [ref("school.demo_student_student_1")], 'student_ids', None, {"lang": "en_US",
+      "tz": False, "active_model": "ir.ui.menu", "section_id":
+      False, "active_ids": ['active_ids'],
+      "active_id": ['active_id'], })
+
+
+

+ 113 - 0
views/identity_card.xml

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        <template id="identity_card">
+            <t t-call="report.html_container">
+                <t t-foreach="docs" t-as="student">
+                    <t t-call="report.external_layout">
+                        <div class="page" style="height: 2px;">
+                            <div class="oe_structure" />
+                            <br/><br/><br/><br/><br/><br/><br/>
+                            <table width="25%" height="50px" style="border: 3px solid black;">
+                                <tr>
+                                    <td width="100%" align="center" height="30">
+                                        <strong>
+                                            <span t-field="student.school_id.name" />
+                                        </strong>
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td align="center">
+                                        <img t-if="student.photo" t-att-src="'data:image/png;base64,%s' % student.photo"
+                                            style="height:120px;width=120px" />
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td height="10px">
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td align="center" height="30px">
+                                        <strong>
+                                            <span t-field="student.name" />
+                                        </strong>
+                                        <strong>
+                                            <span t-field="student.middle" />
+                                        </strong>
+                                        <strong>
+                                            <span t-field="student.last" />
+                                        </strong>
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td height="130">
+                                        <table width="100%">
+                                            <tr>
+                                                <td style="font-family: 'Helvetica';padding-left:20px;">
+                                                    <strong>Roll No.</strong>
+                                                </td>
+                                                <td>
+                                                    <strong>: </strong>
+                                                </td>
+                                                <td>
+                                                    <span t-field="student.roll_no" />
+                                                </td>
+                                            </tr>
+                                            <tr>
+                                                <td style="font-family: 'Helvetica';padding-left:20px;">
+                                                    <strong>Standard</strong>
+                                                </td>
+                                                <td>
+                                                    <strong>: </strong>
+                                                </td>
+                                                <td>
+                                                    <span t-field="student.standard_id.name" />
+                                                    (
+                                                    <span t-field="student.division_id.name" />
+                                                    )
+                                                </td>
+                                            </tr>
+                                            <tr>
+                                                <td style="font-family: 'Helvetica';padding-left:20px;">
+                                                    <strong>Medium</strong>
+                                                </td>
+                                                <td>
+                                                    <strong>: </strong>
+                                                </td>
+                                                <td>
+                                                    <span t-field="student.medium_id.name" />
+                                                </td>
+                                            </tr>
+                                            <tr>
+                                                <td style="font-family: 'Helvetica';padding-left:20px;">
+                                                    <strong>Birthdate</strong>
+                                                </td>
+                                                <td>
+                                                    <strong>: </strong>
+                                                </td>
+                                                <td>
+                                                    <span t-field="student.date_of_birth" />
+                                                </td>
+                                            </tr>
+                                            <tr>
+                                                <td style="font-family: 'Helvetica';padding-left:20px;">
+                                                    <strong>Blood Group</strong>
+                                                </td>
+                                                <td>
+                                                    <strong>: </strong>
+                                                </td>
+                                                <td>
+                                                    <span t-field="student.blood_group" />
+                                                </td>
+                                            </tr>
+                                        </table>
+                                    </td>
+                                </tr>
+                            </table>
+                        </div>
+                    </t>
+                </t>
+            </t>
+        </template>
+    </data>
+</openerp>

+ 47 - 0
wizard/.svn/all-wcprops

@@ -0,0 +1,47 @@
+K 25
+svn:wc:ra_dav:version-url
+V 37
+/svn/eduerp/!svn/ver/25/school/wizard
+END
+assign_roll_no.py
+K 25
+svn:wc:ra_dav:version-url
+V 54
+/svn/eduerp/!svn/ver/2/school/wizard/assign_roll_no.py
+END
+move_standards.py
+K 25
+svn:wc:ra_dav:version-url
+V 55
+/svn/eduerp/!svn/ver/25/school/wizard/move_standards.py
+END
+wiz_send_email.py
+K 25
+svn:wc:ra_dav:version-url
+V 55
+/svn/eduerp/!svn/ver/25/school/wizard/wiz_send_email.py
+END
+move_standards_view.xml
+K 25
+svn:wc:ra_dav:version-url
+V 60
+/svn/eduerp/!svn/ver/2/school/wizard/move_standards_view.xml
+END
+wiz_send_email_view.xml
+K 25
+svn:wc:ra_dav:version-url
+V 61
+/svn/eduerp/!svn/ver/23/school/wizard/wiz_send_email_view.xml
+END
+__init__.py
+K 25
+svn:wc:ra_dav:version-url
+V 49
+/svn/eduerp/!svn/ver/23/school/wizard/__init__.py
+END
+assign_roll_no_wizard.xml
+K 25
+svn:wc:ra_dav:version-url
+V 62
+/svn/eduerp/!svn/ver/2/school/wizard/assign_roll_no_wizard.xml
+END

+ 266 - 0
wizard/.svn/entries

@@ -0,0 +1,266 @@
+10
+
+dir
+25
+https://subversion.assembla.com/svn/eduerp/school/wizard
+https://subversion.assembla.com/svn/eduerp
+
+
+
+2012-07-16T09:23:49.879962Z
+25
+nishantjogi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6df9b670-c5ec-4fb9-963b-ff4819e6ba42
+
+__init__.py
+file
+
+
+
+
+2012-09-27T09:56:38.000000Z
+3fee662134e09b7317ece3815fa5b652
+2012-06-27T06:31:03.229447Z
+23
+bandish09
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1199
+
+assign_roll_no_wizard.xml
+file
+
+
+
+
+2012-04-24T07:15:20.152586Z
+69333270f058602098d98bbb1a04741a
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1638
+
+assign_roll_no.py
+file
+
+
+
+
+2012-04-24T07:15:20.152586Z
+e1c431d3c17628d2502d370d08b0f568
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2341
+
+move_standards.py
+file
+
+
+
+
+2012-09-27T09:56:38.000000Z
+32853713fd32243d70594c7d71fab512
+2012-07-16T09:23:49.879962Z
+25
+nishantjogi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3975
+
+wiz_send_email.py
+file
+
+
+
+
+2012-09-27T09:56:38.000000Z
+f2bc9657bef56d340c9a1455c9c38825
+2012-07-16T09:23:49.879962Z
+25
+nishantjogi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2898
+
+move_standards_view.xml
+file
+
+
+
+
+2012-04-24T07:15:20.152586Z
+21035c69fbebd42e35c1d352210c0573
+2012-04-01T09:05:08.366611Z
+2
+husen.daudi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1235
+
+wiz_send_email_view.xml
+file
+
+
+
+
+2012-09-27T09:56:38.000000Z
+eb4a8578f5b67cbb88abc9a7231b493d
+2012-06-27T06:31:03.229447Z
+23
+bandish09
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+890
+

+ 28 - 0
wizard/.svn/text-base/__init__.py.svn-base

@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-2012 Serpent Consulting Services (<http://www.serpentcs.com>)
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import assign_roll_no
+import move_standards
+import wiz_send_email
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

+ 52 - 0
wizard/.svn/text-base/assign_roll_no.py.svn-base

@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-2012 Serpent Consulting Services (<http://www.serpentcs.com>)
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields,osv
+
+# This wizard is designed for assigning the roll number to a student.
+
+class assign_roll_no(osv.osv_memory):
+
+    _name = 'assign.roll.no'
+    _description = 'Assign Roll Number'
+    _columns = {
+        'class_id': fields.many2one('standard.standard', 'Class', required=True),
+        'medium_id': fields.many2one('standard.medium', 'Medium', required=True),
+        'division_id': fields.many2one('standard.division', 'Division', required=True),
+        
+    }
+
+    def assign_rollno(self, cr, uid, ids, context=None):
+        res = {}
+        student_obj = self.pool.get('student.student')
+        for student_data in self.browse(cr, uid, ids, context=context):
+            domain = [('class_id', '=', student_data.class_id.id), ('medium_id' ,'=', student_data.medium_id.id), ('division_id', '=', student_data.division_id.id)]
+            search_student_ids = student_obj.search(cr, uid, domain, context=context)
+        number = 1
+        for student in student_obj.browse(cr, uid, search_student_ids, context=context):
+            student_obj.write(cr, uid, student.id, {'roll_no':number}, context=context)
+            number = number + 1
+        return res
+
+assign_roll_no()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

+ 41 - 0
wizard/.svn/text-base/assign_roll_no_wizard.xml.svn-base

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Assign Roll Number Wizard Form View  -->
+        <record id="view_assign_roll_no_form" model="ir.ui.view">
+            <field name="name">assign.roll.no.form</field>
+            <field name="model">assign.roll.no</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Assigning Roll Number">
+                    <separator string="Assign Roll Number" colspan="4"/>
+                    <group colspan="4" col="6">
+                        <field name="class_id" widget="selection" />
+                        <field name="medium_id" widget="selection"  />
+                        <field name="division_id" widget="selection" />
+                    </group>
+                    <separator string="" colspan="4"/>
+                    <group colspan="4" col="6">
+                        <label string="" colspan="2"/>
+                        <button  icon="gtk-cancel" special="cancel" string="Close"/>
+                        <button  icon="gtk-go-forward" name="assign_rollno" string="Finish" type="object"/>
+                   </group>
+               </form>
+            </field>
+        </record>
+
+        <!-- Assign Roll Number Wizard Action  -->
+
+        <act_window id="action_assign_roll_no_form"
+            multi="True"
+            key2="client_action_multi" 
+            name="Assign Roll Number"
+            res_model="assign.roll.no" 
+            src_model="student.student"
+            view_mode="form" 
+            target="new" 
+            view_type="form" />
+
+    </data>
+</openerp>

+ 74 - 0
wizard/.svn/text-base/move_standards.py.svn-base

@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields,osv
+from tools.translate import _
+
+class move_standards(osv.osv_memory):
+
+    _name = 'move.standards'
+
+    _columns = {
+        'academic_year_id':fields.many2one('academic.year', 'Academic Year', required=True),
+    }
+
+    def move_start(self, cr, uid, ids, context=None):
+        if context is None:
+            context = {}
+        if not context.get('active_ids'):
+            return {}
+        academic_obj = self.pool.get('academic.year')
+        school_standard_obj = self.pool.get('school.standard')
+        standard_obj = self.pool.get("standard.standard")
+        result_obj = self.pool.get('exam.result')
+        student_obj = self.pool.get('student.student')
+        student_history_obj = self.pool.get("student.history")
+        for data in self.browse(cr, uid, ids, context):
+            for standards in school_standard_obj.browse(cr, uid, context.get('active_ids'), context):
+                for student in standards.student_ids:
+                    stud_year_ids = student_history_obj.search(cr, uid, [('academice_year_id', '=', data.academic_year_id.id), ('student_id', '=', student.id)])
+                    year_id = academic_obj.next_year(cr, uid,  student.year.sequence, context)
+                    if year_id and year_id != data.academic_year_id.id:
+                        continue
+                    
+                    if stud_year_ids:
+                        raise osv.except_osv(_('Warning !'), _('Please Select Next Academic year.'))
+                    else:
+                        result_exists = result_obj.search(cr, uid, [('standard_id', '=', student.class_id.id), ('division_id', '=', student.division_id.id), ('medium_id', '=', student.medium_id.id), ('student_id','=', student.id)])
+                        if result_exists:
+                            result = result_obj.browse(cr, uid, result_exists[0], context).result
+                            if result == "Pass":
+                                next_class_id = standard_obj.next_standard(cr, uid, standards.standard_id.sequence, context)
+                                if next_class_id:
+                                    student_obj.write(cr, uid, student.id, {'year': data.academic_year_id.id,
+                                                                            'class_id': next_class_id})
+                                    student_history_obj.create(cr, uid, {'student_id':student.id,
+                                                                         'academice_year_id':student.year.id,
+                                                                         'class_id': standards.standard_id.id,
+                                                                         'division_id': standards.division_id.id,
+                                                                         'medium_id': standards.medium_id.id})
+
+                pass
+        return {}
+
+move_standards()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

+ 33 - 0
wizard/.svn/text-base/move_standards_view.xml.svn-base

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Assign Roll Number Wizard Form View  -->
+        <record id="view_move_standards_form" model="ir.ui.view">
+            <field name="name">move_standards.form</field>
+            <field name="model">move.standards</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Move Standards">
+                    <field name="academic_year_id"/>
+                    <separator string="" colspan="4"/>
+                    <group colspan="4" col="6">
+                        <label string="" colspan="2"/>
+                        <button  icon="gtk-cancel" special="cancel" string="Close"/>
+                        <button  icon="gtk-go-forward" name="move_start" string="Move" type="object"/>
+                   </group>
+               </form>
+            </field>
+        </record>
+
+        <act_window id="action_move_standards_form"
+            key2="client_action_multi" 
+            name="Move Standards"
+            res_model="move.standards" 
+            src_model="school.standard"
+            view_mode="form" 
+            target="new" 
+            view_type="form"/>
+
+    </data>
+</openerp>

+ 74 - 0
wizard/.svn/text-base/wiz_send_email.py.svn-base

@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-2012 Serpent Consulting Services (<http://www.serpentcs.com>)
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields, osv
+import email
+from email.header import decode_header
+from email.message import Message
+
+
+class email_template(osv.osv):
+    _inherit="email.template"
+    
+    def generate_email(self, cr, uid, template_id, res_id, context=None):
+        if context is None:
+            context = {}
+        ret= super(email_template,self).generate_email(cr, uid, template_id, res_id, context=context)
+        if context.get('body_text',False) or context.get('subject',False) or context.get('email_to',False):
+            ret['body_text']=context['body_text']
+            ret['subject']=context['subject']
+            ret['email_to']=context['email_to']
+            return ret
+        else:
+            return ret
+#        
+email_template()
+
+
+
+
+class send_email(osv.osv):
+    _name = "send.email"
+    _columns = {
+        'note':fields.text('Text',required=True),
+          
+    }
+
+    def send_email(self, cr, uid, ids, context=None):
+        subject = 'Emergency mail'
+        body=''
+        
+        email_template=self.pool.get('email.template')
+        template_id=email_template.search(cr,uid,[('model_id.model','=','student.student')],context=context)
+        email_template_brw = email_template.browse(cr,uid,template_id[0])
+        
+        for i in self.browse(cr,uid,ids):
+            body = i.note
+        
+        for student_brw in self.pool.get('student.student').browse(cr,uid,context['active_ids']):
+            for emergency_contect_brw in student_brw.emergency_contact_ids:
+                context['body_text']=body
+                context['subject']=subject
+                context['email_to']=emergency_contect_brw.email
+                email_template.send_mail(cr, uid ,email_template_brw.id,ids[0],force_send=True,context=context)
+        return {'type': 'ir.actions.act_window_close'} 
+send_email()

+ 27 - 0
wizard/.svn/text-base/wiz_send_email_view.xml.svn-base

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <record id="wiz_send_email_form_view" model="ir.ui.view">
+            <field name="name">send.email.form</field>
+            <field name="model">send.email</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Send Email">
+                	<field name = 'note' nolabel="1" height="350" width="350"/>
+                	<newline/>
+                	<button name="send_email" string="Send Email" icon="gtk-execute" type="object"/>
+                </form>
+            </field>
+        </record>
+
+        <act_window id="act_send_email"
+            name="Send Email"
+            res_model="send.email" 
+            src_model="student.student"
+            view_mode="form" 
+            target="new" 
+            view_type="form" />
+
+    </data>
+</openerp>  

+ 26 - 0
wizard/__init__.py

@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from . import assign_roll_no
+from . import move_standards
+from . import wiz_send_email
+from . import wiz_meeting

BIN
wizard/__init__.pyc


+ 53 - 0
wizard/assign_roll_no.py

@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from openerp import models, fields, api
+
+# This wizard is designed for assigning the roll number to a student.
+
+
+class AssignRollNo(models.TransientModel):
+
+    _name = 'assign.roll.no'
+    _description = 'Assign Roll Number'
+
+    standard_id = fields.Many2one('standard.standard', 'Class', required=True)
+    medium_id = fields.Many2one('standard.medium', 'Medium', required=True)
+    division_id = fields.Many2one('standard.division', 'Division',
+                                  required=True)
+
+    @api.multi
+    def assign_rollno(self):
+        res = {}
+        student_obj = self.env['student.student']
+        for stud_data in self:
+            student_ids = student_obj.search([('standard_id', '=',
+                                               stud_data.standard_id.id),
+                                              ('medium_id', '=',
+                                               stud_data.medium_id.id),
+                                              ('division_id', '=',
+                                               stud_data.division_id.id)])
+        number = 1
+        for student in student_ids:
+            student.write({'roll_no': number})
+            number = number + 1
+        return res

BIN
wizard/assign_roll_no.pyc


+ 39 - 0
wizard/assign_roll_no_wizard.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Assign Roll Number Wizard Form View  -->
+        <record id="view_assign_roll_no_form" model="ir.ui.view">
+            <field name="name">assign.roll.no.form</field>
+            <field name="model">assign.roll.no</field>
+            <field name="arch" type="xml">
+                <form string="Assigning Roll Number">
+                    <separator string="Assign Roll Number" colspan="4"/>
+                    <group colspan="4" col="6">
+                        <field name="standard_id" widget="selection" />
+                        <field name="medium_id" widget="selection"  />
+                        <field name="division_id" widget="selection" />
+                    </group>
+                    <separator string="" colspan="4"/>
+                    <group colspan="4" col="6">
+                        <label string="" colspan="2"/>
+                        <button icon="gtk-cancel" special="cancel" string="Close"/>
+                        <button icon="gtk-go-forward" name="assign_rollno" string="Finish" type="object"/>
+                   </group>
+               </form>
+            </field>
+        </record>
+
+        <!-- Assign Roll Number Wizard Action  -->
+        <act_window id="action_assign_roll_no_form"
+            multi="True"
+            key2="client_action_multi"
+            name="Assign Roll Number"
+            res_model="assign.roll.no"
+            src_model="student.student"
+            view_mode="form"
+            target="new"
+            view_type="form"/>
+
+    </data>
+</openerp>

+ 102 - 0
wizard/move_standards.py

@@ -0,0 +1,102 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+from openerp import models, fields, api, _
+from openerp.exceptions import except_orm
+
+
+class MoveStandards(models.TransientModel):
+
+    _name = 'move.standards'
+
+    academic_year_id = fields.Many2one('academic.year', 'Academic Year',
+                                       required=True)
+
+    @api.multi
+    def move_start(self):
+        if self._context is None:
+            self._context = {}
+        if not self._context.get('active_ids'):
+            return {}
+        academic_obj = self.env['academic.year']
+        school_standard_obj = self.env['school.standard']
+        standard_obj = self.env["standard.standard"]
+        result_obj = self.env['exam.result']
+        history_obj = self.env["student.history"]
+        for data in self:
+            active_ids = self._context.get('active_ids')
+            for standards in school_standard_obj.browse(active_ids):
+                for student in standards.student_ids:
+                    academic_year_id = data.academic_year_id.id
+                    stud_year_ids = history_obj.search([('academice_year_id',
+                                                         '=',
+                                                         academic_year_id),
+                                                        ('student_id', '=',
+                                                         student.id)])
+                    year_id = academic_obj.next_year(student.year.sequence)
+                    if year_id and year_id != data.academic_year_id.id:
+                        continue
+                    if stud_year_ids:
+                        raise except_orm(_('Warning !'), _('Please Select \
+                                                            Next Academic \
+                                                            year.'))
+                    else:
+                        standard_id = student.standard_id.id
+                        division_id = student.division_id.id
+                        medium_id = student.medium_id.id
+                        res = result_obj.search([('standard_id', '=',
+                                                  standard_id),
+                                                 ('standard_id.division_id',
+                                                  '=', division_id),
+                                                 ('standard_id.medium_id',
+                                                  '=', medium_id),
+                                                 ('student_id', '=',
+                                                  student.id)])
+                        result_data = False
+                        if res:
+                            result_data = result_obj.browse(res.id)
+                        if result_data and result_data.result == "Pass":
+                            seq = standards.standard_id.sequence
+                            next_class_id = standard_obj.next_standard(seq)
+                            if next_class_id:
+                                student.write({'year':
+                                               data.academic_year_id.id,
+                                               'standard_id': next_class_id,
+                                               })
+                                year = student.year.id
+                                sta_id = standards.standard_id.id
+                                div_id = standards.division_id.id
+                                med_id = standards.medium_id.id
+                                result = result_data.result
+                                percent = result_data.percentage
+                                history_obj.create({'student_id': student.id,
+                                                    'academice_year_id': year,
+                                                    'standard_id': sta_id,
+                                                    'division_id': div_id,
+                                                    'medium_id': med_id,
+                                                    'result': result,
+                                                    'percentage': percent
+                                                    })
+                        else:
+                            raise except_orm(_("Error!"),
+                                             _("Student is not eligible \
+                                               for Next Standard."))
+        return {}

BIN
wizard/move_standards.pyc


+ 32 - 0
wizard/move_standards_view.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Assign Roll Number Wizard Form View  -->
+        <record id="view_move_standards_form" model="ir.ui.view">
+            <field name="name">move_standards.form</field>
+            <field name="model">move.standards</field>
+            <field name="arch" type="xml">
+                <form string="Move Standards">
+                    <field name="academic_year_id"/>
+                    <separator string="" colspan="4"/>
+                    <group colspan="4" col="6">
+                        <label string="" colspan="2"/>
+                        <button icon="gtk-cancel" special="cancel" string="Close"/>
+                        <button icon="gtk-go-forward" name="move_start" string="Move" type="object"/>
+                   </group>
+               </form>
+            </field>
+        </record>
+
+        <act_window id="action_move_standards_form"
+            key2="client_action_multi"
+            name="Move Standards"
+            res_model="move.standards"
+            src_model="school.standard"
+            view_mode="form"
+            target="new"
+            view_type="form"/>
+
+    </data>
+</openerp>

+ 61 - 0
wizard/wiz_meeting.py

@@ -0,0 +1,61 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+from openerp import models, fields, api, _
+from openerp.exceptions import except_orm
+
+
+class StudentMeeting(models.TransientModel):
+    _name = "student.meeting"
+
+    name = fields.Char('Meeting Subject', size=128, required=True)
+    meeting_date = fields.Datetime('Meeting Date', required=True)
+    deadline = fields.Datetime('Deadline', required=True)
+    description = fields.Text('Description')
+
+    @api.multi
+    def set_meeting(self):
+        cur_rec = self.browse(self.id)
+        student_obj = self.env['student.student']
+        cal_event_obj = self.env['calendar.event']
+        attendee_ids = []
+        flag = False
+        error_student = ''
+        for student in student_obj.browse(self._context['active_ids']):
+            if not student.email:
+                flag = True
+                error_student += (student.pid + " : " + student.name + " " +
+                                  student.middle + " " + student.last + "\n")
+            else:
+                attendee_ids.append((0, 0, {'user_id': student.user_id.id,
+                                    'email': student.email}))
+        if flag:
+            raise except_orm(_('Error !'), _("Following Student don't have \
+                             Email ID.\n\n" + error_student + "\nMeeting \
+                             cannot be scheduled."))
+        cal_event_obj.create({
+            'name': cur_rec.name,
+            'start': cur_rec.meeting_date,
+            'stop': cur_rec.deadline,
+            'description': cur_rec.description,
+            'attendee_ids': attendee_ids
+        })
+        return {'type': 'ir.actions.act_window_close'}

BIN
wizard/wiz_meeting.pyc


+ 40 - 0
wizard/wiz_meeting_view.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <!-- Student Meeting Wizard Form View  -->
+        <record id="view_student_meeting_form" model="ir.ui.view">
+            <field name="name">student.meeting.form</field>
+            <field name="model">student.meeting</field>
+            <field name="arch" type="xml">
+                <form string="Student Meeting">
+                    <header>
+                        <button name="set_meeting" string="Set Meeting" type="object"/>
+                        <button  icon="gtk-cancel" special="cancel" string="Cancel"/>
+                    </header>
+                    <sheet>
+                        <label for="name"/>
+                        <h1>
+                            <field name="name" placeholder="Enter Name"/>
+                        </h1>
+                        <group col="4" colspan="4">
+                            <field name="meeting_date" placeholder="Enter Meeting Start Time"/>
+                            <field name="deadline" placeholder="Enter Deadline"/>
+                            <field name="description" colspan="4" placeholder="Description"/>
+                        </group>
+                    </sheet>
+               </form>
+            </field>
+        </record>
+        
+        <act_window id="action_student_meeting_form"
+            key2="client_action_multi"
+            name="Student Meeting"
+            res_model="student.meeting"
+            src_model="student.student"
+            view_mode="form"
+            target="new"
+            view_type="form"/>
+        
+    </data>
+</openerp>

+ 59 - 0
wizard/wiz_send_email.py

@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2011-Today Serpent Consulting Services PVT. LTD.
+#    (<http://www.serpentcs.com>)
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from openerp import models, fields, api
+
+
+class SendEmail(models.TransientModel):
+    _name = "send.email"
+
+    note = fields.Text('Text')
+
+#    def send_email(self, cr, uid, ids, context=None):
+#        subject = 'Emergency mail'
+#        body = ''
+#        email_template = self.pool.get('email.template')
+#        template_id = email_template.search(cr, uid, [('model', '=',
+#                                              'student.student')],
+#                                              context=context)
+#        if template_id:
+#            email_template_brw = email_template.browse(cr, uid,
+#                                                         template_id[0])
+#            for i in self.browse(cr, uid, ids):
+#                body += '\n' + i.note
+#            email_template.send_mail(cr, uid , template_id[0],
+#                     context.get('active_id'), force_send=True)
+#        return {'type': 'ir.actions.act_window_close'}
+
+    @api.multi
+    def send_email(self):
+        body = ''
+        email_template_obj = self.env['email.template']
+        template_id = email_template_obj.search([('model', '=',
+                                                'student.student')], limit=1)
+        if template_id:
+            for i in self:
+                body += '\n' + i.note
+            email_template_obj.send_mail(template_id.id,
+                                         self._context.get('active_id'),
+                                         force_send=True)
+        return {'type': 'ir.actions.act_window_close'}

BIN
wizard/wiz_send_email.pyc


+ 26 - 0
wizard/wiz_send_email_view.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+        <record id="wiz_send_email_form_view" model="ir.ui.view">
+            <field name="name">send.email.form</field>
+            <field name="model">send.email</field>
+            <field name="arch" type="xml">
+                <form string="Send Email">
+                    <field name='note' nolabel="0" height="350" width="350"/>
+                    <newline/>
+                    <button name="send_email" string="Send Email" icon="gtk-execute" type="object"/>
+                </form>
+            </field>
+        </record>
+
+        <act_window id="act_send_email"
+            name="Send Email"
+            res_model="send.email"
+            src_model="student.student"
+            view_mode="form"
+            target="new"
+            view_type="form"/>
+
+    </data>
+</openerp>