@ -0,0 +1,46 @@ | 
				
			|||||
 | 
					.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg | 
				
			||||
 | 
					    :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html | 
				
			||||
 | 
					    :alt: License: AGPL-3 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Education ERP Dashboard | 
				
			||||
 | 
					======================= | 
				
			||||
 | 
					A visually informative interface of education ERP system provides an at-a-glance overview of essential data. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Configuration | 
				
			||||
 | 
					============= | 
				
			||||
 | 
					- No additional configuration required | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Company | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Credits | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					Developer: (V15) Sruthi Renjith, Contact: odoo@cybrosys.com | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Contacts | 
				
			||||
 | 
					-------- | 
				
			||||
 | 
					* Mail Contact : odoo@cybrosys.com | 
				
			||||
 | 
					* Website : https://cybrosys.com | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					License | 
				
			||||
 | 
					------- | 
				
			||||
 | 
					GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 (AGPLv3) | 
				
			||||
 | 
					(https://www.gnu.org/licenses/agpl-3.0-standalone.html) | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Bug Tracker | 
				
			||||
 | 
					----------- | 
				
			||||
 | 
					Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Maintainer | 
				
			||||
 | 
					========== | 
				
			||||
 | 
					.. image:: https://cybrosys.com/images/logo.png | 
				
			||||
 | 
					   :target: https://cybrosys.com | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					This module is maintained by Cybrosys Technologies. | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					For support and more information, please visit `Our Website <https://cybrosys.com/>`__ | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					Further information | 
				
			||||
 | 
					=================== | 
				
			||||
 | 
					HTML Description: `<static/description/index.html>`__ | 
				
			||||
@ -0,0 +1,22 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Sruthi Renjith (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from . import models | 
				
			||||
@ -0,0 +1,55 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Sruthi Renjith (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					{ | 
				
			||||
 | 
					    'name': 'Education ERP Dashboard', | 
				
			||||
 | 
					    'version': '15.0.1.0.0', | 
				
			||||
 | 
					    'category': 'Industries, Productivity', | 
				
			||||
 | 
					    'summary': 'An integrated view of the education ERP system', | 
				
			||||
 | 
					    'description': """A comprehensive module designed to provide educational | 
				
			||||
 | 
					    institutions to manage and monitor various operations""", | 
				
			||||
 | 
					    'author': "Cybrosys Techno Solutions", | 
				
			||||
 | 
					    'company': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'maintainer': 'Cybrosys Techno Solutions', | 
				
			||||
 | 
					    'website': "https://www.cybrosys.com", | 
				
			||||
 | 
					    'depends': ['base', 'education_attendances', 'education_promotion', | 
				
			||||
 | 
					                'education_time_table'], | 
				
			||||
 | 
					    'data': [ | 
				
			||||
 | 
					        'security/ir.model.access.csv', | 
				
			||||
 | 
					        'views/dashboard_tag_views.xml', | 
				
			||||
 | 
					        'views/erp_dashboard_menu.xml'], | 
				
			||||
 | 
					    'assets': { | 
				
			||||
 | 
					        'web.assets_backend': [ | 
				
			||||
 | 
					            'education_erp_dashboard/static/src/js/dashboard.js', | 
				
			||||
 | 
					            'education_erp_dashboard/static/src/css/dashboard.css', | 
				
			||||
 | 
					            'https://cdn.jsdelivr.net/npm/chart.js' | 
				
			||||
 | 
					        ], | 
				
			||||
 | 
					        'web.assets_qweb': [ | 
				
			||||
 | 
					            'education_erp_dashboard/static/src/xml/dashboard_templates.xml', | 
				
			||||
 | 
					            'education_erp_dashboard/static/src/xml/dashboard_content_templates.xml' | 
				
			||||
 | 
					        ], | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					    'images': ['static/description/banner.jpg'], | 
				
			||||
 | 
					    'license': 'AGPL-3', | 
				
			||||
 | 
					    'installable': True, | 
				
			||||
 | 
					    'auto_install': False, | 
				
			||||
 | 
					    'application': True, | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,6 @@ | 
				
			|||||
 | 
					## Module <education_erp_dashboard> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					#### 22.09.2023 | 
				
			||||
 | 
					#### Version 15.0.1.0.0 | 
				
			||||
 | 
					#### ADD | 
				
			||||
 | 
					- Initial commit for Education ERP Dashboard | 
				
			||||
@ -0,0 +1,22 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Sruthi Renjith (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from . import erp_dashboard | 
				
			||||
@ -0,0 +1,166 @@ | 
				
			|||||
 | 
					# -*- coding: utf-8 -*- | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Cybrosys Technologies Pvt. Ltd. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			||||
 | 
					#    Author: Sruthi Renjith (odoo@cybrosys.com) | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You can modify it under the terms of the GNU AFFERO | 
				
			||||
 | 
					#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    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 (AGPL v3) for more details. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			||||
 | 
					#    (AGPL v3) along with this program. | 
				
			||||
 | 
					#    If not, see <http://www.gnu.org/licenses/>. | 
				
			||||
 | 
					# | 
				
			||||
 | 
					################################################################################ | 
				
			||||
 | 
					from odoo import api, fields, models | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					class ERPDashboard(models.Model): | 
				
			||||
 | 
					    """ Class to get all the required data for the dashboard """ | 
				
			||||
 | 
					    _name = "erp.dashboard" | 
				
			||||
 | 
					    _description = "Education ERP Dashboard" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def erp_data(self): | 
				
			||||
 | 
					        """ Function to get the datas like number of application, number of | 
				
			||||
 | 
					        students, number of faculties, number of amenities and number of | 
				
			||||
 | 
					        exams """ | 
				
			||||
 | 
					        return { | 
				
			||||
 | 
					            'applications': self.env['education.application'].search_count([]), | 
				
			||||
 | 
					            'students': self.env['education.student'].search_count([]), | 
				
			||||
 | 
					            'faculties': self.env['education.faculty'].search_count([]), | 
				
			||||
 | 
					            'amenities': self.env['education.amenities'].search_count([]), | 
				
			||||
 | 
					            'exams': self.env['education.exam'].search_count([]), | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_all_applications(self): | 
				
			||||
 | 
					        """ Function to get count of applications in each academic year """ | 
				
			||||
 | 
					        years = self.env['education.application'].search([]).mapped( | 
				
			||||
 | 
					            'academic_year_id') | 
				
			||||
 | 
					        application_count_dict = { | 
				
			||||
 | 
					            year.name: self.env['education.application'].search_count( | 
				
			||||
 | 
					                [('academic_year_id', '=', year.name)]) for year in years} | 
				
			||||
 | 
					        return application_count_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_rejected_accepted_applications(self): | 
				
			||||
 | 
					        """ Function to get count of all accepted and rejected applications """ | 
				
			||||
 | 
					        application_dict = {} | 
				
			||||
 | 
					        academic_year_date = 0 | 
				
			||||
 | 
					        academic_year_year = '' | 
				
			||||
 | 
					        academic_year = self.env['education.academic.year'].search([]) | 
				
			||||
 | 
					        for years in academic_year: | 
				
			||||
 | 
					            academic_year_date = years.ay_end_date | 
				
			||||
 | 
					            academic_year_year = years.name | 
				
			||||
 | 
					        for year in academic_year: | 
				
			||||
 | 
					            if academic_year_date < year.ay_end_date: | 
				
			||||
 | 
					                academic_year_date = year.ay_end_date | 
				
			||||
 | 
					                academic_year_year = year.name | 
				
			||||
 | 
					        rejected_applications = self.env['education.application'].search_count( | 
				
			||||
 | 
					            [('state', '=', 'reject'), | 
				
			||||
 | 
					             ('academic_year_id', '=', academic_year_year)]) | 
				
			||||
 | 
					        accepted_applications = self.env['education.application'].search_count( | 
				
			||||
 | 
					            [('state', '=', 'done'), | 
				
			||||
 | 
					             ('academic_year_id', '=', academic_year_year)]) | 
				
			||||
 | 
					        application_dict.update( | 
				
			||||
 | 
					            {'Done': accepted_applications, 'Reject': rejected_applications}) | 
				
			||||
 | 
					        return application_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_exam_result(self): | 
				
			||||
 | 
					        """ Function to get total exam result """ | 
				
			||||
 | 
					        exam_result_dict = {} | 
				
			||||
 | 
					        pass_count = self.env['results.subject.line'].search_count( | 
				
			||||
 | 
					            [('pass_or_fail', '=', True)]) | 
				
			||||
 | 
					        fail_count = self.env['results.subject.line'].search_count( | 
				
			||||
 | 
					            [('pass_or_fail', '=', False)]) | 
				
			||||
 | 
					        exam_result_dict.update({'Pass': pass_count, 'Fail': fail_count}) | 
				
			||||
 | 
					        return exam_result_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_attendance(self): | 
				
			||||
 | 
					        """ Function to get total attendance """ | 
				
			||||
 | 
					        attendance_dict = {} | 
				
			||||
 | 
					        absents = self.env['education.attendance.line'].search_count( | 
				
			||||
 | 
					            [('date', '=', fields.Date.today()), ('full_day_absent', '=', 1)]) | 
				
			||||
 | 
					        total = self.env['education.student'].search_count([]) | 
				
			||||
 | 
					        presents = total - absents | 
				
			||||
 | 
					        attendance_dict.update({'Presents': presents, 'Absents': absents}) | 
				
			||||
 | 
					        return attendance_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_student_strength(self): | 
				
			||||
 | 
					        """ Function to get class wise student strength """ | 
				
			||||
 | 
					        classes = self.env['education.class.division'].search([]) | 
				
			||||
 | 
					        class_wise_dict = { | 
				
			||||
 | 
					            clas.name: self.env['education.student'].search_count( | 
				
			||||
 | 
					                [('class_id', '=', clas.id)]) for clas in classes} | 
				
			||||
 | 
					        return class_wise_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_average_marks(self): | 
				
			||||
 | 
					        """ Function to get class wise average marks """ | 
				
			||||
 | 
					        class_average_mark_dict = {} | 
				
			||||
 | 
					        classes = self.env['education.class.division'].search([]) | 
				
			||||
 | 
					        for clas in classes: | 
				
			||||
 | 
					            all_students = self.env['education.student'].search( | 
				
			||||
 | 
					                [('class_id', '=', clas.id)]) | 
				
			||||
 | 
					            if all_students: | 
				
			||||
 | 
					                class_mark_list = [sum( | 
				
			||||
 | 
					                    self.env['education.exam.results'].search( | 
				
			||||
 | 
					                        [('student_id', '=', student.id)]).mapped( | 
				
			||||
 | 
					                        'total_mark_scored')) for student in all_students] | 
				
			||||
 | 
					                count = len(class_mark_list) | 
				
			||||
 | 
					                total_marks = sum(class_mark_list) | 
				
			||||
 | 
					                average_mark = total_marks / count | 
				
			||||
 | 
					                class_average_mark_dict.update({clas.name: average_mark}) | 
				
			||||
 | 
					        return class_average_mark_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_academic_year(self): | 
				
			||||
 | 
					        """ Function to get the academic year """ | 
				
			||||
 | 
					        academic_dict = {year.id: year.name for year in | 
				
			||||
 | 
					                         self.env['education.academic.year'].search([])} | 
				
			||||
 | 
					        return academic_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_academic_year_exam_result(self, *args): | 
				
			||||
 | 
					        """ Function to get exam results in each academic year """ | 
				
			||||
 | 
					        academic_exam_result_dict = {} | 
				
			||||
 | 
					        academic_pass_count = self.env['results.subject.line'].search_count( | 
				
			||||
 | 
					            [('academic_year.id', '=', *args), ('pass_or_fail', '=', True)]) | 
				
			||||
 | 
					        academic_fail_count = self.env['results.subject.line'].search_count( | 
				
			||||
 | 
					            [('academic_year.id', '=', *args), ('pass_or_fail', '=', False)]) | 
				
			||||
 | 
					        academic_exam_result_dict.update( | 
				
			||||
 | 
					            {'Pass': academic_pass_count, 'Fail': academic_fail_count}) | 
				
			||||
 | 
					        return academic_exam_result_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_classes(self): | 
				
			||||
 | 
					        """ Function to get the classes """ | 
				
			||||
 | 
					        class_dict = {clas.id: clas.name for clas in | 
				
			||||
 | 
					                      self.env['education.class.division'].search([])} | 
				
			||||
 | 
					        return class_dict | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @api.model | 
				
			||||
 | 
					    def get_class_attendance_today(self, *args): | 
				
			||||
 | 
					        """ Function to get class wise attendance """ | 
				
			||||
 | 
					        class_attendance_dict = {} | 
				
			||||
 | 
					        class_absents = self.env['education.attendance.line'].search_count( | 
				
			||||
 | 
					            [('division_id.id', '=', *args), | 
				
			||||
 | 
					             ('date', '=', fields.Date.today()), | 
				
			||||
 | 
					             ('full_day_absent', '=', 1)]) | 
				
			||||
 | 
					        class_total = self.env['education.student'].search_count( | 
				
			||||
 | 
					            [('class_id.id', '=', *args)]) | 
				
			||||
 | 
					        class_presents = class_total - class_absents | 
				
			||||
 | 
					        class_attendance_dict.update( | 
				
			||||
 | 
					            {'Presents': class_presents, 'Absents': class_absents}) | 
				
			||||
 | 
					        return class_attendance_dict | 
				
			||||
		
		
			
  | 
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 576 B  | 
| 
		 After Width: | Height: | Size: 733 B  | 
| 
		 After Width: | Height: | Size: 911 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 673 B  | 
| 
		 After Width: | Height: | Size: 878 B  | 
| 
		 After Width: | Height: | Size: 653 B  | 
| 
		 After Width: | Height: | Size: 905 B  | 
| 
		 After Width: | Height: | Size: 839 B  | 
| 
		 After Width: | Height: | Size: 427 B  | 
| 
		 After Width: | Height: | Size: 627 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 988 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 1.5 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.9 KiB  | 
| 
		 After Width: | Height: | Size: 2.2 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 2.1 KiB  | 
| 
		 After Width: | Height: | Size: 13 KiB  | 
| 
		 After Width: | Height: | Size: 589 B  | 
| 
		 After Width: | Height: | Size: 4.4 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
| 
		 After Width: | Height: | Size: 967 B  | 
| 
		 After Width: | Height: | Size: 1.6 KiB  | 
| 
		 After Width: | Height: | Size: 3.8 KiB  | 
| 
		 After Width: | Height: | Size: 5.0 KiB  | 
| 
		 After Width: | Height: | Size: 103 KiB  | 
| 
		 After Width: | Height: | Size: 124 KiB  | 
| 
		 After Width: | Height: | Size: 90 KiB  | 
| 
		 After Width: | Height: | Size: 136 KiB  | 
| 
		 After Width: | Height: | Size: 71 KiB  | 
| 
		 After Width: | Height: | Size: 68 KiB  | 
| 
		 After Width: | Height: | Size: 13 KiB  | 
| 
		 After Width: | Height: | Size: 23 KiB  | 
| 
		 After Width: | Height: | Size: 12 KiB  | 
| 
		 After Width: | Height: | Size: 71 KiB  | 
| 
		 After Width: | Height: | Size: 18 KiB  | 
| 
		 After Width: | Height: | Size: 97 KiB  | 
| 
		 After Width: | Height: | Size: 15 KiB  | 
| 
		 After Width: | Height: | Size: 17 KiB  | 
| 
		 After Width: | Height: | Size: 42 KiB  | 
| 
		 After Width: | Height: | Size: 142 KiB  | 
| 
		 After Width: | Height: | Size: 9.4 KiB  | 
@ -0,0 +1,735 @@ | 
				
			|||||
 | 
					<div style="background-color: #714B67; min-height: 600px; width: 100%; padding: 15px; position: relative;"> | 
				
			||||
 | 
					    <!-- TITLE BAR --> | 
				
			||||
 | 
					    <div class="d-flex align-items-center justify-content-between" | 
				
			||||
 | 
					         style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;"> | 
				
			||||
 | 
					        <img src="assets/misc/e_logo.png" width="162" height="60" | 
				
			||||
 | 
					             style="width:auto !important; height:60px !important"/> | 
				
			||||
 | 
					        <div> | 
				
			||||
 | 
					            <div style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;" | 
				
			||||
 | 
					                 class="mr-2"> | 
				
			||||
 | 
					                <i class="fa fa-check mr-1"></i>Community | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <!-- END OF TITLE BAR --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    <div class="container"> | 
				
			||||
 | 
					        <div class="row"> | 
				
			||||
 | 
					            <div class="col-sm-12 col-md-12 col-lg-12"> | 
				
			||||
 | 
					                <!-- APP HERO --> | 
				
			||||
 | 
					                <h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;"> | 
				
			||||
 | 
					                    Education ERP Dashboard</h1> | 
				
			||||
 | 
					                <p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;"> | 
				
			||||
 | 
					                    Insight to Educational ERP</p> | 
				
			||||
 | 
					                <!-- END OF APP HERO --> | 
				
			||||
 | 
					                <img src="assets/screenshots/hero.gif" | 
				
			||||
 | 
					                     style="width: 75%; height: auto; position: absolute; margin-left: auto; margin-right: auto; top: 45%; left: 12%; right: auto;"/> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- NAVIGATION SECTION --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/compass.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Explore This | 
				
			||||
 | 
					        Module</h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="row my-4" style="font-family: 'Montserrat', sans-serif;"> | 
				
			||||
 | 
					    <div class="col-sm-12 col-md-6 my-3"> | 
				
			||||
 | 
					        <a href="#overview"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-between align-items-center" | 
				
			||||
 | 
					                 style="background-color: #f5f5f5; padding: 30px; width: 100%;"> | 
				
			||||
 | 
					                <div> | 
				
			||||
 | 
					                    <span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span> | 
				
			||||
 | 
					                    <span | 
				
			||||
 | 
					                            style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33;  display: block;">Learn | 
				
			||||
 | 
					                        more about this | 
				
			||||
 | 
					                        module</span> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <img src="assets/misc/right-arrow.png" width="36" height="36"/> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </a> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="col-sm-12 col-md-6 my-3"> | 
				
			||||
 | 
					        <a href="#config"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-between align-items-center" | 
				
			||||
 | 
					                 style="background-color: #f5f5f5; padding: 30px; width: 100%;"> | 
				
			||||
 | 
					                <div> | 
				
			||||
 | 
					                    <span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Configuration</span> | 
				
			||||
 | 
					                    <span | 
				
			||||
 | 
					                            style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33;  display: block;">View | 
				
			||||
 | 
					                        configuration of this | 
				
			||||
 | 
					                        module</span> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <img src="assets/misc/right-arrow.png" width="36" height="36"/> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </a> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="col-sm-12 col-md-6 my-3"> | 
				
			||||
 | 
					        <a href="#features"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-between align-items-center" | 
				
			||||
 | 
					                 style="background-color: #f5f5f5; padding: 30px; width: 100%;"> | 
				
			||||
 | 
					                <div> | 
				
			||||
 | 
					                    <span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span> | 
				
			||||
 | 
					                    <span | 
				
			||||
 | 
					                            style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33;  display: block;">View | 
				
			||||
 | 
					                        features of this | 
				
			||||
 | 
					                        module</span> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <img src="assets/misc/right-arrow.png" width="36" height="36"/> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </a> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="col-sm-12 col-md-6 my-3"> | 
				
			||||
 | 
					        <a href="#screenshots"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-between align-items-center" | 
				
			||||
 | 
					                 style="background-color: #f5f5f5; padding: 30px; width: 100%;"> | 
				
			||||
 | 
					                <div> | 
				
			||||
 | 
					                    <span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span> | 
				
			||||
 | 
					                    <span | 
				
			||||
 | 
					                            style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33;  display: block;">View | 
				
			||||
 | 
					                        screenshots for this | 
				
			||||
 | 
					                        module</span> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <img src="assets/misc/right-arrow.png" width="36" height="36"/> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </a> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF NAVIGATION SECTION --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- OVERVIEW SECTION --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;" | 
				
			||||
 | 
					     id="overview"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/pie-chart.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Overview | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="row" | 
				
			||||
 | 
					     style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;"> | 
				
			||||
 | 
					    <div class="col-sm-12 py-4"> | 
				
			||||
 | 
					        Education ERP Dashboard give an insight to Education ERP Core. | 
				
			||||
 | 
					        This dashboard allows a quick analysis of the details related to | 
				
			||||
 | 
					        students, faculties, exams and all. | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF OVERVIEW SECTION --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- CONFIGURATION SECTION --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="config"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/config.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Configuration | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="row" | 
				
			||||
 | 
					     style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;"> | 
				
			||||
 | 
					    <div class="col-sm-12 py-4"> | 
				
			||||
 | 
					        No additional configuration is required. | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF CONFIGURATION SECTION --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- FEATURES SECTION --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;" | 
				
			||||
 | 
					     id="features"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/features.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Features | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="row" | 
				
			||||
 | 
					     style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;"> | 
				
			||||
 | 
					    <div class="col-sm-12 col-md-6"> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 40px; margin-bottom: 40px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Clickable dashboard cards.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">A quick analysis of the counts.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Insight of upcoming and recent activities.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Academic wise exam results.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 40px; margin-bottom: 40px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Attendance details as doughnut chart.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Exam result in pie chart.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Class wise student strength.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="d-flex align-items-start" | 
				
			||||
 | 
					             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			||||
 | 
					            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			||||
 | 
					            <div> | 
				
			||||
 | 
					                <span | 
				
			||||
 | 
					                        style="display: block; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Student application details.</span> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF FEATURES SECTION --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- SCREENSHOTS SECTION --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;" | 
				
			||||
 | 
					     id="screenshots"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/pictures.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Screenshots | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="row"> | 
				
			||||
 | 
					    <div class="col-sm-12"> | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Dashboard view</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                This is the overall view of the dashboard.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/dashboard.png" | 
				
			||||
 | 
					                 class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Clickable tiles</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                This gives all the details in one click.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/tiles.png" | 
				
			||||
 | 
					                 class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Application Bar Chart</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                This gives the count of applications in each academic year.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/application.png" | 
				
			||||
 | 
					                 class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Student Attendance</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                A doughnut chart that gives the total and class wise attendance | 
				
			||||
 | 
					                details.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/attendance.png" class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Exam Result</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                A pie chart the gives the academic wise and total exam | 
				
			||||
 | 
					                results.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/exam_result.png" | 
				
			||||
 | 
					                 class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Student Strength</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                A line chart that gives the details related to the class | 
				
			||||
 | 
					                strength.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/student_strength.png" | 
				
			||||
 | 
					                 class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Average Marks</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                A bar chart that gives the details of average marks in | 
				
			||||
 | 
					                each class.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/average_marks.png" | 
				
			||||
 | 
					                 class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div style="display: block; margin: 30px auto;"> | 
				
			||||
 | 
					            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			||||
 | 
					                Rejected Applications</h3> | 
				
			||||
 | 
					            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			||||
 | 
					                A bar chart that shows the count of accepted and rejected | 
				
			||||
 | 
					                applications.</p> | 
				
			||||
 | 
					            <img src="assets/screenshots/rejected_applications.png" | 
				
			||||
 | 
					                 class="img-thumbnail"> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF SCREENSHOTS SECTION --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- SUGGESTED PRODUCTS --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/categories.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Suggested | 
				
			||||
 | 
					        Products | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="row"> | 
				
			||||
 | 
					    <div class="col-sm-12"> | 
				
			||||
 | 
					        <div id="demo1" class="row carousel slide" data-ride="carousel"> | 
				
			||||
 | 
					            <!-- The slideshow --> | 
				
			||||
 | 
					            <div class="carousel-inner" style="padding: 30px;"> | 
				
			||||
 | 
					                <div class="carousel-item" style="min-height: 198.656px;"> | 
				
			||||
 | 
					                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			||||
 | 
					                         style="float:left"> | 
				
			||||
 | 
					                        <a href="https://apps.odoo.com/apps/modules/15.0/education_core/" | 
				
			||||
 | 
					                           target="_blank"> | 
				
			||||
 | 
					                            <div style="border-radius:10px"> | 
				
			||||
 | 
					                                <img class="img img-responsive center-block" | 
				
			||||
 | 
					                                     style="border-radius: 0px;" | 
				
			||||
 | 
					                                     src="./assets/modules/1.png"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </a> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			||||
 | 
					                         style="float:left"> | 
				
			||||
 | 
					                        <a href="https://apps.odoo.com/apps/modules/15.0/education_promotion/" | 
				
			||||
 | 
					                           target="_blank"> | 
				
			||||
 | 
					                            <div style="border-radius:10px"> | 
				
			||||
 | 
					                                <img class="img img-responsive center-block" | 
				
			||||
 | 
					                                     style="border-radius: 0px;" | 
				
			||||
 | 
					                                     src="./assets/modules/2.png"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </a> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			||||
 | 
					                         style="float:left"> | 
				
			||||
 | 
					                        <a href="https://apps.odoo.com/apps/modules/15.0/education_time_table/" | 
				
			||||
 | 
					                           target="_blank"> | 
				
			||||
 | 
					                            <div style="border-radius:10px"> | 
				
			||||
 | 
					                                <img class="img img-responsive center-block" | 
				
			||||
 | 
					                                     style="border-radius: 0px;" | 
				
			||||
 | 
					                                     src="./assets/modules/3.png"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </a> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div class="carousel-item active" | 
				
			||||
 | 
					                     style="min-height: 198.656px;"> | 
				
			||||
 | 
					                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			||||
 | 
					                         style="float:left"> | 
				
			||||
 | 
					                        <a href="https://apps.odoo.com/apps/modules/15.0/education_exam/" | 
				
			||||
 | 
					                           target="_blank"> | 
				
			||||
 | 
					                            <div style="border-radius:10px"> | 
				
			||||
 | 
					                                <img class="img img-responsive center-block" | 
				
			||||
 | 
					                                     style="border-radius: 0px;" | 
				
			||||
 | 
					                                     src="./assets/modules/4.png"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </a> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			||||
 | 
					                         style="float:left"> | 
				
			||||
 | 
					                        <a href="https://apps.odoo.com/apps/modules/15.0/education_attendances/" | 
				
			||||
 | 
					                           target="_blank"> | 
				
			||||
 | 
					                            <div style="border-radius:10px"> | 
				
			||||
 | 
					                                <img class="img img-responsive center-block" | 
				
			||||
 | 
					                                     style="border-radius: 0px;" | 
				
			||||
 | 
					                                     src="./assets/modules/5.png"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </a> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			||||
 | 
					                         style="float:left"> | 
				
			||||
 | 
					                        <a href="https://apps.odoo.com/apps/modules/15.0/education_hostel/" | 
				
			||||
 | 
					                           target="_blank"> | 
				
			||||
 | 
					                            <div style="border-radius:10px"> | 
				
			||||
 | 
					                                <img class="img img-responsive center-block" | 
				
			||||
 | 
					                                     style="border-radius: 0px;" | 
				
			||||
 | 
					                                     src="./assets/modules/6.png"> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </a> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Left and right controls --> | 
				
			||||
 | 
					            <a class="carousel-control-prev" href="#demo1" data-slide="prev" | 
				
			||||
 | 
					               style="width:35px; color:#000"> <span | 
				
			||||
 | 
					                    class="carousel-control-prev-icon"><i | 
				
			||||
 | 
					                    class="fa fa-chevron-left" | 
				
			||||
 | 
					                    style="font-size:24px"></i></span> | 
				
			||||
 | 
					            </a> <a class="carousel-control-next" href="#demo1" | 
				
			||||
 | 
					                    data-slide="next" style="width:35px; color:#000"> | 
				
			||||
 | 
					                <span class="carousel-control-next-icon"><i | 
				
			||||
 | 
					                        class="fa fa-chevron-right" | 
				
			||||
 | 
					                        style="font-size:24px"></i></span> | 
				
			||||
 | 
					        </a> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF SUGGESTED PRODUCTS --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- OUR SERVICES --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/star.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Our Services | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="container my-5"> | 
				
			||||
 | 
					    <div class="row"> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/cogs.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Customization</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/wrench.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Implementation</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/lifebuoy.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Support</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/user.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Hire | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Developer</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #54a0ff  !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/puzzle.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Integration</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/update.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Migration</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/consultation.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Consultancy</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/training.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Implementation</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			||||
 | 
					            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			||||
 | 
					                 style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			||||
 | 
					                <img src="assets/icons/license.png" class="img-responsive" | 
				
			||||
 | 
					                     height="48px" width="48px"> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <h6 class="text-center" | 
				
			||||
 | 
					                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			||||
 | 
					                Odoo | 
				
			||||
 | 
					                Licensing Consultancy</h6> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF OUR SERVICES --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- OUR INDUSTRIES --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/corporate.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Our | 
				
			||||
 | 
					        Industries | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<div class="container my-5"> | 
				
			||||
 | 
					    <div class="row"> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="assets/icons/trading-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    Trading | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    Easily procure | 
				
			||||
 | 
					                    and | 
				
			||||
 | 
					                    sell your products</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="assets/icons/pos-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    POS | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    Easy | 
				
			||||
 | 
					                    configuration | 
				
			||||
 | 
					                    and convivial experience</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="assets/icons/education-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    Education | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    A platform for | 
				
			||||
 | 
					                    educational management</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="assets/icons/manufacturing-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" | 
				
			||||
 | 
					                     width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    Manufacturing | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    Plan, track and | 
				
			||||
 | 
					                    schedule your operations</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="./assets/icons/ecom-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    E-commerce & Website | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    Mobile | 
				
			||||
 | 
					                    friendly, | 
				
			||||
 | 
					                    awe-inspiring product pages</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="./assets/icons/service-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    Service Management | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    Keep track of | 
				
			||||
 | 
					                    services and invoice</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="./assets/icons/restaurant-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    Restaurant | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    Run your bar or | 
				
			||||
 | 
					                    restaurant methodically</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-lg-3"> | 
				
			||||
 | 
					            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			||||
 | 
					                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			||||
 | 
					                <img src="./assets/icons/hotel-black.png" | 
				
			||||
 | 
					                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			||||
 | 
					                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			||||
 | 
					                    Hotel Management | 
				
			||||
 | 
					                </h5> | 
				
			||||
 | 
					                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			||||
 | 
					                    An | 
				
			||||
 | 
					                    all-inclusive | 
				
			||||
 | 
					                    hotel management application</p> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF OUR INDUSTRIES --> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					<!-- SUPPORT --> | 
				
			||||
 | 
					<div class="d-flex align-items-center" | 
				
			||||
 | 
					     style="border-bottom: 2px solid #714B67; padding: 15px 0px;"> | 
				
			||||
 | 
					    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			||||
 | 
					         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			||||
 | 
					        <img src="assets/misc/customer-support.png"/> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <h2 class="mt-2" | 
				
			||||
 | 
					        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			||||
 | 
					        Support | 
				
			||||
 | 
					    </h2> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<div class="container mt-5"> | 
				
			||||
 | 
					    <div class="row"> | 
				
			||||
 | 
					        <div class="col-sm-12 col-md-6"> | 
				
			||||
 | 
					            <div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;"> | 
				
			||||
 | 
					                <div class="mr-4" | 
				
			||||
 | 
					                     style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;"> | 
				
			||||
 | 
					                    <img src="assets/misc/support.png" height="48" width="48" | 
				
			||||
 | 
					                         style="width: 42px; height: 42px;"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div> | 
				
			||||
 | 
					                    <h4>Need Help?</h4> | 
				
			||||
 | 
					                    <p style="line-height: 100%;">Got questions or need help? | 
				
			||||
 | 
					                        Get in touch.</p> | 
				
			||||
 | 
					                    <a href="mailto:odoo@cybrosys.com"> | 
				
			||||
 | 
					                        <p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;"> | 
				
			||||
 | 
					                            odoo@cybrosys.com</p> | 
				
			||||
 | 
					                    </a> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="col-sm-12 col-md-6"> | 
				
			||||
 | 
					            <div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;"> | 
				
			||||
 | 
					                <div class="mr-4" | 
				
			||||
 | 
					                     style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;"> | 
				
			||||
 | 
					                    <img src="assets/misc/whatsapp.png" height="52" width="52" | 
				
			||||
 | 
					                         style="width: 52px; height: 52px;"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <div> | 
				
			||||
 | 
					                    <h4>WhatsApp</h4> | 
				
			||||
 | 
					                    <p style="line-height: 100%;">Say hi to us on WhatsApp!</p> | 
				
			||||
 | 
					                    <a href="https://api.whatsapp.com/send?phone=918606827707"> | 
				
			||||
 | 
					                        <p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;"> | 
				
			||||
 | 
					                            +91 86068 | 
				
			||||
 | 
					                            27707</p> | 
				
			||||
 | 
					                    </a> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					    <div class="row"> | 
				
			||||
 | 
					        <div class="col-sm-12 my-5 d-flex justify-content-center align-items-center"> | 
				
			||||
 | 
					            <img src="assets/misc/logo.png" width="144" height="31" | 
				
			||||
 | 
					                 style="width:144px; height: 31px; margin-top: 40px;"/> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </div> | 
				
			||||
 | 
					</div> | 
				
			||||
 | 
					<!-- END OF SUPPORT --> | 
				
			||||
@ -0,0 +1,176 @@ | 
				
			|||||
 | 
					.stat-icon { | 
				
			||||
 | 
					    width: 30%; | 
				
			||||
 | 
					    height: 65px; | 
				
			||||
 | 
					    text-align: center; | 
				
			||||
 | 
					    background: #ffa07a; | 
				
			||||
 | 
					    color: #fff; | 
				
			||||
 | 
					    padding-top: 2%; | 
				
			||||
 | 
					    font-size: xx-large; | 
				
			||||
 | 
					    display: inline-block; | 
				
			||||
 | 
					    border-radius: 10px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-content { | 
				
			||||
 | 
					    text-align: center; | 
				
			||||
 | 
					    color: black !important; | 
				
			||||
 | 
					    display: inline-block; | 
				
			||||
 | 
					    width: 50%; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-count{ | 
				
			||||
 | 
					    text-align: center; | 
				
			||||
 | 
					    width: 50%; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-head { | 
				
			||||
 | 
					    text-align: left !important; | 
				
			||||
 | 
					    font-weight: 300; | 
				
			||||
 | 
					    font-size: 18px; | 
				
			||||
 | 
					    margin-left: 10px; | 
				
			||||
 | 
					    width: 100%; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one .stat-icon { | 
				
			||||
 | 
					    vertical-align: top; | 
				
			||||
 | 
					    margin: auto; | 
				
			||||
 | 
					    font-weight: 900; | 
				
			||||
 | 
					    display: inline-block; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one{ | 
				
			||||
 | 
					    font-weight: bold; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card-body { | 
				
			||||
 | 
					    display: flex; | 
				
			||||
 | 
					    justify-content: space-between; | 
				
			||||
 | 
					    align-items: center; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one { | 
				
			||||
 | 
					    margin-top: 2.3rem; | 
				
			||||
 | 
					    margin-left: 1rem; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one{ | 
				
			||||
 | 
					    margin-left: 1rem; | 
				
			||||
 | 
					    margin-top: -1px; | 
				
			||||
 | 
					    font-family: initial | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one .stat-icon{ | 
				
			||||
 | 
					    font-weight: 900; | 
				
			||||
 | 
					    display: inline-block; | 
				
			||||
 | 
					    color: #fff; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one { | 
				
			||||
 | 
					    background-color: white; | 
				
			||||
 | 
					    text-align: left; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one { | 
				
			||||
 | 
					    background: none; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one .stat-icon { | 
				
			||||
 | 
					    text-align: center; | 
				
			||||
 | 
					    padding-top: 9px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one{ | 
				
			||||
 | 
					    margin: 0; | 
				
			||||
 | 
					    text-align: center; | 
				
			||||
 | 
					    width: 100% !important; | 
				
			||||
 | 
					    padding: 0; | 
				
			||||
 | 
					    color: #fff; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-widget-one .stat-icon .fa { | 
				
			||||
 | 
					    font-size: 30px; | 
				
			||||
 | 
					    margin: 0px; | 
				
			||||
 | 
					    box-shadow: none; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card { | 
				
			||||
 | 
					    font-size: 1rem; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card:hover { | 
				
			||||
 | 
					    transform:none !important; | 
				
			||||
 | 
					    box-shadow: none !important; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card { | 
				
			||||
 | 
					    padding-top: 0px; | 
				
			||||
 | 
					    padding: 0px; | 
				
			||||
 | 
					    margin-bottom: 1.5rem; | 
				
			||||
 | 
					    border-radius: 10px; | 
				
			||||
 | 
					    box-shadow: none; | 
				
			||||
 | 
					    background: none; | 
				
			||||
 | 
					    transition: transform 0.2s ease, box-shadow 0.2s ease; | 
				
			||||
 | 
					    will-change: transform, box-shadow; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card:hover { | 
				
			||||
 | 
					    transform: translateY(-2px) translateZ(0) !important; | 
				
			||||
 | 
					    box-shadow: 0 10px 10px 0 rgba(62, 57, 107, 0.12), 0 0 0 transparent !important; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card { | 
				
			||||
 | 
					    transition: transform 0.2s ease, box-shadow 0.2s ease; | 
				
			||||
 | 
					    will-change: transform, box-shadow; | 
				
			||||
 | 
					    box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62,57,107,0.06); | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card { | 
				
			||||
 | 
					    margin: 0; | 
				
			||||
 | 
					    margin-bottom: 0px; | 
				
			||||
 | 
					    margin-bottom: 0px; | 
				
			||||
 | 
					    padding-bottom: 7px; | 
				
			||||
 | 
					    transition: transform 0.2s ease, box-shadow 0.2s ease; | 
				
			||||
 | 
					    will-change: transform, box-shadow; | 
				
			||||
 | 
					    box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62,57,107,0.06); | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card { | 
				
			||||
 | 
					    background: #fafad2; | 
				
			||||
 | 
					    transition: transform 0.2s ease, box-shadow 0.2s ease; | 
				
			||||
 | 
					    will-change: transform, box-shadow; | 
				
			||||
 | 
					    box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62,57,107,0.06); | 
				
			||||
 | 
					    padding: 15px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					 .content-card{ | 
				
			||||
 | 
					    transition: none !important; | 
				
			||||
 | 
					    will-change: none !important; | 
				
			||||
 | 
					    box-shadow: none !important; | 
				
			||||
 | 
					    margin-bottom: 5px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.content-card:hover{ | 
				
			||||
 | 
					    transform: translateY(-2px) translateZ(0) !important; | 
				
			||||
 | 
					    box-shadow: 0 10px 10px 0 rgba(62, 57, 107, 0.12), 0 0 0 transparent !important; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.row{ | 
				
			||||
 | 
					    margin-right: 0px; !important; | 
				
			||||
 | 
					    padding:30px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.stat-count { | 
				
			||||
 | 
					  font-size: 20px; | 
				
			||||
 | 
					  text-align: center; | 
				
			||||
 | 
					  color: #000 !important; | 
				
			||||
 | 
					  width: 100%; | 
				
			||||
 | 
					  float: left; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.render_graph_div { | 
				
			||||
 | 
					  text-align: center; | 
				
			||||
 | 
					  width: 100%; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.inline { | 
				
			||||
 | 
					  display: inline-block; | 
				
			||||
 | 
					  width: 50%; | 
				
			||||
 | 
					  float: left; | 
				
			||||
 | 
					  padding: 80px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.pie_canvas{ | 
				
			||||
 | 
					  margin-left: 50px; | 
				
			||||
 | 
					  height: 400px; | 
				
			||||
 | 
					  width: 100%; | 
				
			||||
 | 
					  text-align: center; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.graph_canvas{ | 
				
			||||
 | 
					  margin-top: 30px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.doughnut_canvas{ | 
				
			||||
 | 
					  margin-left: 50px; | 
				
			||||
 | 
					  height: 380px; | 
				
			||||
 | 
					  width: 100%; | 
				
			||||
 | 
					  text-align: center; | 
				
			||||
 | 
					  display: flex; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.pie-chart-filter{ | 
				
			||||
 | 
					  width: 50%; | 
				
			||||
 | 
					  margin-left:60px; | 
				
			||||
 | 
					} | 
				
			||||
 | 
					.doughnut-chart-filter{ | 
				
			||||
 | 
					  width: 50%; | 
				
			||||
 | 
					  margin-left:60px; | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,742 @@ | 
				
			|||||
 | 
					odoo.define("education_erp_dashboard.EducationalDashboard", function (require) { | 
				
			||||
 | 
					    "use strict"; | 
				
			||||
 | 
					    var AbstractAction = require('web.AbstractAction'); | 
				
			||||
 | 
					    var core = require('web.core'); | 
				
			||||
 | 
					    var QWeb = core.qweb; | 
				
			||||
 | 
					    var rpc = require('web.rpc'); | 
				
			||||
 | 
					    var DashBoard = AbstractAction.extend({ | 
				
			||||
 | 
					        contentTemplate: 'EducationalDashboard', | 
				
			||||
 | 
					     /* Loading the dashboard template */ | 
				
			||||
 | 
					     init: function(parent, context) { | 
				
			||||
 | 
					                this._super(parent, context); | 
				
			||||
 | 
					                this.dashboard_templates = ['MainSection']; | 
				
			||||
 | 
					            }, | 
				
			||||
 | 
					     /* Showing the total exam result and total attendance and hiding | 
				
			||||
 | 
					            the academic wise exam result and class wise attendance | 
				
			||||
 | 
					            when loading */ | 
				
			||||
 | 
					     start: function() { | 
				
			||||
 | 
					            var self = this; | 
				
			||||
 | 
					            self.set("title", 'Dashboard'); | 
				
			||||
 | 
					            return self._super().then(function() { | 
				
			||||
 | 
					            self.$('.academic_exam_result').hide(); | 
				
			||||
 | 
					            self.$('.exam_result').show(); | 
				
			||||
 | 
					            self.$('.class_attendance_today').hide(); | 
				
			||||
 | 
					            self.$('.total_attendance_today').show(); | 
				
			||||
 | 
					            /* Rendering the dashboard, graphs and filters */ | 
				
			||||
 | 
					                self.render_dashboards(); | 
				
			||||
 | 
					                self.render_graphs(); | 
				
			||||
 | 
					                self.render_filters(); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					    /* This function is called before the actual start */ | 
				
			||||
 | 
					    willStart: function(){ | 
				
			||||
 | 
					        var self = this; | 
				
			||||
 | 
					        return self._super() | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					    /* Function to render dashboard */ | 
				
			||||
 | 
					    render_dashboards: function() { | 
				
			||||
 | 
					            var self = this; | 
				
			||||
 | 
					            self.fetch_data() | 
				
			||||
 | 
					            var templates = [] | 
				
			||||
 | 
					            var templates = ['MainSection']; | 
				
			||||
 | 
					            _.each(templates, function(template) { | 
				
			||||
 | 
					                self.$('.o_hr_dashboard').append(QWeb.render(template, {widget: self})) | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					    /* RPC call to fetch the count of applications, students, faculties, | 
				
			||||
 | 
					        amenities and total exams */ | 
				
			||||
 | 
					        fetch_data: function() { | 
				
			||||
 | 
					        var self = this; | 
				
			||||
 | 
					        rpc.query({ | 
				
			||||
 | 
					            model: 'erp.dashboard', | 
				
			||||
 | 
					            method: "erp_data", | 
				
			||||
 | 
					        }).then(function (result) { | 
				
			||||
 | 
					                self.$('#all_applications').append('<span>' + result.applications + '</span>'); | 
				
			||||
 | 
					                self.$('#all_students').append('<span>' + result.students + '</span>'); | 
				
			||||
 | 
					                self.$('#all_faculties').append('<span>' + result.faculties + '</span>'); | 
				
			||||
 | 
					                self.$('#all_amenities').append('<span>' + result.amenities + '</span>'); | 
				
			||||
 | 
					                self.$('#all_exams').append('<span>' + result.exams + '</span>'); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					        /* Click events for the tiles and change event for the filters */ | 
				
			||||
 | 
					        events:{ | 
				
			||||
 | 
					        'click #all_applications':'application_list', | 
				
			||||
 | 
					        'click #all_students':'student_list', | 
				
			||||
 | 
					        'click #all_faculties':'faculty_list', | 
				
			||||
 | 
					        'click #all_amenities':'amenity_list', | 
				
			||||
 | 
					        'click #all_attendance':'attendance_list', | 
				
			||||
 | 
					        'click #exams':'exam_result', | 
				
			||||
 | 
					        'click #timetable':'timetable', | 
				
			||||
 | 
					        'click #promotion':'promotions', | 
				
			||||
 | 
					        'change #select_period': function(e){ | 
				
			||||
 | 
					            e.preventDefault(); | 
				
			||||
 | 
					            if(e.target.value == 'select'){ | 
				
			||||
 | 
					            this.$('.academic_exam_result').hide(); | 
				
			||||
 | 
					            this.$('.exam_result').show(); | 
				
			||||
 | 
					            this.render_exam_result_pie(); | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					            else{ | 
				
			||||
 | 
					            this.$('.exam_result').hide(); | 
				
			||||
 | 
					            this.$('.academic_exam_result').show(); | 
				
			||||
 | 
					            this.get_academic_exam_result(e.target.value); | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					          }, | 
				
			||||
 | 
					        'change #select_class': function(e){ | 
				
			||||
 | 
					            e.preventDefault(); | 
				
			||||
 | 
					            if(e.target.value == 'select'){ | 
				
			||||
 | 
					            this.$('.class_attendance_today').hide(); | 
				
			||||
 | 
					            this.$('.total_attendance_today').show(); | 
				
			||||
 | 
					            this.render_attendance_doughnut(); | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					            else{ | 
				
			||||
 | 
					             this.$('.total_attendance_today').hide(); | 
				
			||||
 | 
					             this.$('.class_attendance_today').show(); | 
				
			||||
 | 
					             this.get_class_attendance(e.target.value); | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					          } | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					    /* Functions that to show the details on click event */ | 
				
			||||
 | 
					    /* Click event function to show the applications */ | 
				
			||||
 | 
					        application_list:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Applications", | 
				
			||||
 | 
					                 res_model: "education.application", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Click event function to show the students */ | 
				
			||||
 | 
					      student_list:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Students", | 
				
			||||
 | 
					                 res_model: "education.student", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Click event function to show the faculties */ | 
				
			||||
 | 
					      faculty_list:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Faculties", | 
				
			||||
 | 
					                 res_model: "education.faculty", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Click event function to show the amenities */ | 
				
			||||
 | 
					      amenity_list:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Amenities", | 
				
			||||
 | 
					                 res_model: "education.amenities", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Click event function to show the attendance list */ | 
				
			||||
 | 
					      attendance_list:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Attendance", | 
				
			||||
 | 
					                 res_model: "education.attendance", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Click event function to show the exam results */ | 
				
			||||
 | 
					      exam_result:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Exam Result", | 
				
			||||
 | 
					                 res_model: "education.exam", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Click event function to show the time table */ | 
				
			||||
 | 
					      timetable:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Timetable", | 
				
			||||
 | 
					                 res_model: "education.timetable", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Click event function to show the promotions */ | 
				
			||||
 | 
					      promotions:function(e){ | 
				
			||||
 | 
					        e.preventDefault(); | 
				
			||||
 | 
					             this.do_action({ | 
				
			||||
 | 
					                 type: "ir.actions.act_window", | 
				
			||||
 | 
					                 name: "Student Promotions", | 
				
			||||
 | 
					                 res_model: "education.student.final.result", | 
				
			||||
 | 
					                 views: [[false,'list'],[false,'form']], | 
				
			||||
 | 
					                 target: 'current', | 
				
			||||
 | 
					                 view_type : 'list', | 
				
			||||
 | 
					                 view_mode : 'list', | 
				
			||||
 | 
					               }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Calling the functions to creates charts */ | 
				
			||||
 | 
					      render_graphs:function(){ | 
				
			||||
 | 
					      var self = this; | 
				
			||||
 | 
					      self.render_total_application_graph(); | 
				
			||||
 | 
					      self.render_exam_result_pie(); | 
				
			||||
 | 
					      self.render_attendance_doughnut(); | 
				
			||||
 | 
					      self.render_rejected_accepted_applications(); | 
				
			||||
 | 
					      self.render_student_strength(); | 
				
			||||
 | 
					      self.render_class_wise_average_marks(); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Calling the filter functions */ | 
				
			||||
 | 
					      render_filters:function(){ | 
				
			||||
 | 
					      var self = this; | 
				
			||||
 | 
					      self.render_pie_chart_filter(); | 
				
			||||
 | 
					      self.render_doughnut_chart_filter(); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Function to create a bar chart to show application counts in each | 
				
			||||
 | 
					    academic year */ | 
				
			||||
 | 
					      render_total_application_graph:function(){ | 
				
			||||
 | 
					            var self = this | 
				
			||||
 | 
					            var ctx = self.$(".application_count"); | 
				
			||||
 | 
					            rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_all_applications", | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					                var data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: 'Application', | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#87cefa", | 
				
			||||
 | 
					                            "#b0c4de", | 
				
			||||
 | 
					                            "#20b2aa", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#87cefa", | 
				
			||||
 | 
					                            "#b0c4de", | 
				
			||||
 | 
					                            "#20b2aa", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                //Options to add appearance for the graph
 | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0 | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                //Create Chart class object
 | 
				
			||||
 | 
					                new Chart(ctx, { | 
				
			||||
 | 
					                    type: "bar", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: { | 
				
			||||
 | 
					                        responsive:true, | 
				
			||||
 | 
					                        maintainAspectRatio: false, | 
				
			||||
 | 
					                        legend: { | 
				
			||||
 | 
					                            display: false | 
				
			||||
 | 
					                        }, | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Function to create a bar chart that shows the count of accepted and | 
				
			||||
 | 
					    rejected applications */ | 
				
			||||
 | 
					      render_rejected_accepted_applications:function(){ | 
				
			||||
 | 
					            var self = this | 
				
			||||
 | 
					            var ctx = self.$(".rejected_accepted_count"); | 
				
			||||
 | 
					            rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_rejected_accepted_applications", | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					                var data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: 'Application', | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#778899", | 
				
			||||
 | 
					                            "#f08080", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#778899", | 
				
			||||
 | 
					                            "#f08080", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                //Options to add appearance for the graph
 | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0 | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                //Create Chart class object
 | 
				
			||||
 | 
					                new Chart(ctx, { | 
				
			||||
 | 
					                    type: "bar", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: { | 
				
			||||
 | 
					                        scales : { | 
				
			||||
 | 
					                            y : { | 
				
			||||
 | 
					                                beginAtZero: true, | 
				
			||||
 | 
					                                suggestedMin: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }, | 
				
			||||
 | 
					                        responsive:true, | 
				
			||||
 | 
					                        maintainAspectRatio: false, | 
				
			||||
 | 
					                        legend: { | 
				
			||||
 | 
					                            display: false | 
				
			||||
 | 
					                        }, | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Function to create a pie chart that shows the exam results */ | 
				
			||||
 | 
					        chart_total_result : false, | 
				
			||||
 | 
					        render_exam_result_pie:function(){ | 
				
			||||
 | 
					            var self = this; | 
				
			||||
 | 
					            if (this.chart_total_result){ | 
				
			||||
 | 
					                this.chart_total_result.destroy() | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					            var ctx = self.$(".exam_result")[0].getContext('2d'); | 
				
			||||
 | 
					            rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_exam_result" | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					            var data; | 
				
			||||
 | 
					            if (! result.Fail && ! result.Pass){ | 
				
			||||
 | 
					                  data = { | 
				
			||||
 | 
					                    labels : ['No data'], | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: "No Result", | 
				
			||||
 | 
					                        data: [1], | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#f6f7f9" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#f6f7f9" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					                else{ | 
				
			||||
 | 
					                data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: "Exam Result", | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#003f5c", | 
				
			||||
 | 
					                            "#dc143c" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#003f5c", | 
				
			||||
 | 
					                            "#dc143c", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					                //Options to add appearance for the graph
 | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    legend: { | 
				
			||||
 | 
					                        display: true, | 
				
			||||
 | 
					                        position: "bottom", | 
				
			||||
 | 
					                        labels: { | 
				
			||||
 | 
					                            fontColor: "#333", | 
				
			||||
 | 
					                            fontSize: 16 | 
				
			||||
 | 
					                        } | 
				
			||||
 | 
					                    }, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                /* Create Chart class object */ | 
				
			||||
 | 
					                 self.chart_total_result = new Chart(ctx, { | 
				
			||||
 | 
					                    type: "pie", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: options | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					      /* Function to create a doughnut chart that shows attendance details */ | 
				
			||||
 | 
					        chart_total_attendance : false, | 
				
			||||
 | 
					        render_attendance_doughnut:function(){ | 
				
			||||
 | 
					            var self = this; | 
				
			||||
 | 
					            if(this.chart_total_attendance){ | 
				
			||||
 | 
					                    this.chart_total_attendance.destroy() | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					            var ctx = self.$(".total_attendance_today")[0].getContext('2d'); | 
				
			||||
 | 
					            rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_attendance" | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					                var data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: "Attendance", | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#006400", | 
				
			||||
 | 
					                            "#e9967a" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#006400", | 
				
			||||
 | 
					                            "#e9967a", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                //Options to add appearance for the graph
 | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    legend: { | 
				
			||||
 | 
					                        display: true, | 
				
			||||
 | 
					                        position: "bottom", | 
				
			||||
 | 
					                        labels: { | 
				
			||||
 | 
					                            fontColor: "#333", | 
				
			||||
 | 
					                            fontSize: 16 | 
				
			||||
 | 
					                        } | 
				
			||||
 | 
					                    }, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                /* Create Chart class object */ | 
				
			||||
 | 
					                self.chart_total_attendance = new Chart(ctx, { | 
				
			||||
 | 
					                    type: "doughnut", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: options | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					        }, | 
				
			||||
 | 
					      /* Function to create a line chart that shows the class wise student strength */ | 
				
			||||
 | 
					        render_student_strength:function(){ | 
				
			||||
 | 
					            var self = this | 
				
			||||
 | 
					            var ctx = self.$(".student_strength"); | 
				
			||||
 | 
					            rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_student_strength", | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					                var data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: 'Student Strength', | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        Color: [ | 
				
			||||
 | 
					                            "#8b0000", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#8b0000", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                //Options to add appearance for the graph
 | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                //Create Chart class object
 | 
				
			||||
 | 
					                new Chart(ctx, { | 
				
			||||
 | 
					                    type: "line", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: { | 
				
			||||
 | 
					                        responsive:true, | 
				
			||||
 | 
					                        maintainAspectRatio: false, | 
				
			||||
 | 
					                        legend: { | 
				
			||||
 | 
					                            display: false | 
				
			||||
 | 
					                        }, | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Function to create a bar chart that shows the average marks in each class */ | 
				
			||||
 | 
					      render_class_wise_average_marks:function(){ | 
				
			||||
 | 
					            var self = this | 
				
			||||
 | 
					            var ctx = self.$(".average_marks"); | 
				
			||||
 | 
					            rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_average_marks", | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					            var data | 
				
			||||
 | 
					            if (Object.values(result) == 0){ | 
				
			||||
 | 
					                  data = { | 
				
			||||
 | 
					                    labels : ['No data'], | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: "No Marks", | 
				
			||||
 | 
					                        data: [1], | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#f6f7f9" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#f6f7f9" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					            else{ | 
				
			||||
 | 
					               data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: 'Average Marks', | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#cd5c5c", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#cd5c5c", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					                //Options to add appearance for the graph
 | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                /* Create Chart class object */ | 
				
			||||
 | 
					                new Chart(ctx, { | 
				
			||||
 | 
					                    type: "bar", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: { | 
				
			||||
 | 
					                        scales : { | 
				
			||||
 | 
					                            y : { | 
				
			||||
 | 
					                                beginAtZero: true, | 
				
			||||
 | 
					                                suggestedMin: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }, | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					                        responsive:true, | 
				
			||||
 | 
					                        maintainAspectRatio: false, | 
				
			||||
 | 
					                        legend: { | 
				
			||||
 | 
					                            display: false | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Function to add the filter option */ | 
				
			||||
 | 
					      render_pie_chart_filter:function(){ | 
				
			||||
 | 
					      var self = this | 
				
			||||
 | 
					      rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_academic_year", | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					                  self.$('#select_period').append('<option value=' + 'select' + '>' + 'Total Result' + '</option>') | 
				
			||||
 | 
					                for (let key in result){ | 
				
			||||
 | 
					                  self.$('#select_period').append('<option value=' + key + '>' + result[key] + '</option>') | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					      }) | 
				
			||||
 | 
					    }, | 
				
			||||
 | 
					   /* Function to get academic wise exam result and to create chart accordingly */ | 
				
			||||
 | 
					    chart_academy_result : false, | 
				
			||||
 | 
					    get_academic_exam_result:function(academic_year){ | 
				
			||||
 | 
					      var self = this; | 
				
			||||
 | 
					      if (this.chart_academy_result){ | 
				
			||||
 | 
					                this.chart_academy_result.destroy() | 
				
			||||
 | 
					            } | 
				
			||||
 | 
					      var ctx = self.$(".academic_exam_result")[0].getContext('2d'); | 
				
			||||
 | 
					      rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_academic_year_exam_result", | 
				
			||||
 | 
					                args: [academic_year] | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					            var data | 
				
			||||
 | 
					            if (! result.Fail && ! result.Pass){ | 
				
			||||
 | 
					                  data = { | 
				
			||||
 | 
					                    labels : ['No data'], | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: "No Result", | 
				
			||||
 | 
					                        data: [1], | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#f6f7f9" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#f6f7f9" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					            else{ | 
				
			||||
 | 
					            data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: "Exam Result", | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                            "#003f5c", | 
				
			||||
 | 
					                            "#dc143c" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#003f5c", | 
				
			||||
 | 
					                            "#dc143c", | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                } | 
				
			||||
 | 
					                //Options to add appearance for the graph
 | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    legend: { | 
				
			||||
 | 
					                        display: true, | 
				
			||||
 | 
					                        position: "bottom", | 
				
			||||
 | 
					                        labels: { | 
				
			||||
 | 
					                            fontColor: "#333", | 
				
			||||
 | 
					                            fontSize: 16 | 
				
			||||
 | 
					                        } | 
				
			||||
 | 
					                    }, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                self.chart_academy_result = new Chart(ctx, { | 
				
			||||
 | 
					                    type: "pie", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: options | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Function to add filter option for doughnut chart */ | 
				
			||||
 | 
					      render_doughnut_chart_filter:function(){ | 
				
			||||
 | 
					      var self = this | 
				
			||||
 | 
					      rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_classes", | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					                  self.$('#select_class').append('<option value=' + 'select' + '>' + 'Total Attendance' + '</option>') | 
				
			||||
 | 
					                for (let key in result){ | 
				
			||||
 | 
					                  self.$('#select_class').append('<option value=' + key + '>' + result[key] + '</option>') | 
				
			||||
 | 
					                  } | 
				
			||||
 | 
					            }) | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    /* Function to get class wise attendance and to create chart accordingly */ | 
				
			||||
 | 
					      chart_class_attendance : false, | 
				
			||||
 | 
					      get_class_attendance:function(clas){ | 
				
			||||
 | 
					      var self = this; | 
				
			||||
 | 
					      if(this.chart_class_attendance){ | 
				
			||||
 | 
					         this.chart_class_attendance.destroy() | 
				
			||||
 | 
					       } | 
				
			||||
 | 
					      var ctx = self.$(".class_attendance_today")[0].getContext('2d'); | 
				
			||||
 | 
					      rpc.query({ | 
				
			||||
 | 
					                model: "erp.dashboard", | 
				
			||||
 | 
					                method: "get_class_attendance_today", | 
				
			||||
 | 
					                args: [clas] | 
				
			||||
 | 
					            }).then(function (result) { | 
				
			||||
 | 
					            var data = { | 
				
			||||
 | 
					                    labels : Object.keys(result), | 
				
			||||
 | 
					                    datasets: [{ | 
				
			||||
 | 
					                        label: "Attendance", | 
				
			||||
 | 
					                        data: Object.values(result), | 
				
			||||
 | 
					                        backgroundColor: [ | 
				
			||||
 | 
					                             "#006400", | 
				
			||||
 | 
					                             "#e9967a" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderColor: [ | 
				
			||||
 | 
					                            "#006400", | 
				
			||||
 | 
					                            "#e9967a" | 
				
			||||
 | 
					                        ], | 
				
			||||
 | 
					                        borderWidth: 1 | 
				
			||||
 | 
					                    },] | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					                var options = { | 
				
			||||
 | 
					                    responsive: true, | 
				
			||||
 | 
					                    title: false, | 
				
			||||
 | 
					                    legend: { | 
				
			||||
 | 
					                        display: true, | 
				
			||||
 | 
					                        position: "bottom", | 
				
			||||
 | 
					                        labels: { | 
				
			||||
 | 
					                            fontColor: "#333", | 
				
			||||
 | 
					                            fontSize: 16 | 
				
			||||
 | 
					                        } | 
				
			||||
 | 
					                    }, | 
				
			||||
 | 
					                    scales: { | 
				
			||||
 | 
					                        yAxes: [{ | 
				
			||||
 | 
					                            ticks: { | 
				
			||||
 | 
					                                min: 0, | 
				
			||||
 | 
					                            } | 
				
			||||
 | 
					                        }] | 
				
			||||
 | 
					                    } | 
				
			||||
 | 
					                }; | 
				
			||||
 | 
					              /* Create Chart class object */ | 
				
			||||
 | 
					                self.chart_class_attendance = new Chart(ctx, { | 
				
			||||
 | 
					                    type: "doughnut", | 
				
			||||
 | 
					                    data: data, | 
				
			||||
 | 
					                    options: options | 
				
			||||
 | 
					                }); | 
				
			||||
 | 
					            }); | 
				
			||||
 | 
					      }, | 
				
			||||
 | 
					    }) | 
				
			||||
 | 
					    core.action_registry.add('erp_dashboard_tag', DashBoard); | 
				
			||||
 | 
					    return DashBoard; | 
				
			||||
 | 
					 }); | 
				
			||||
@ -0,0 +1,228 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<template> | 
				
			||||
 | 
					    <!-- Template represents the main section of the dashboard --> | 
				
			||||
 | 
					    <t t-name="MainSection"> | 
				
			||||
 | 
					        <!--      Tiles    --> | 
				
			||||
 | 
					        <div class="row main-section"> | 
				
			||||
 | 
					            <!-- Tile that shows the number of applications --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-wpforms"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Applications</div> | 
				
			||||
 | 
					                                <div class="stat-count"> | 
				
			||||
 | 
					                                    <span id="templates"> | 
				
			||||
 | 
					                                        <div id="all_applications"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Tile that shows the number of students --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-user"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Students</div> | 
				
			||||
 | 
					                                <div class="stat-count"> | 
				
			||||
 | 
					                                    <span id="templates"> | 
				
			||||
 | 
					                                        <div id="all_students"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Tile that shows the number of faculties --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-male"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Faculties</div> | 
				
			||||
 | 
					                                <div class="stat-count"> | 
				
			||||
 | 
					                                    <span id="templates"> | 
				
			||||
 | 
					                                        <div id="all_faculties"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Tile that shows the number of amenities --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-list"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Amenities</div> | 
				
			||||
 | 
					                                <div class="stat-count"> | 
				
			||||
 | 
					                                    <span id="templates"> | 
				
			||||
 | 
					                                        <div id="all_amenities"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Tile that shows the attendance table --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" id="all_attendance" | 
				
			||||
 | 
					                     style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-check-square-o"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Attendance Table</div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Tile that shows the exam results --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" id="exams" style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-line-chart"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Exam Result</div> | 
				
			||||
 | 
					                                <div class="stat-count"> | 
				
			||||
 | 
					                                    <span id="templates"> | 
				
			||||
 | 
					                                        <div id="all_exams"/> | 
				
			||||
 | 
					                                    </span> | 
				
			||||
 | 
					                                </div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Tile that shows the timetable --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" id="timetable" style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-calendar"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Time Table</div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Tile that shows the student promotions --> | 
				
			||||
 | 
					            <div class="col-md-3 col-sm-3"> | 
				
			||||
 | 
					                <div class="content-card" id="promotion" style="width: 288px;"> | 
				
			||||
 | 
					                    <div class="content-card-body"> | 
				
			||||
 | 
					                        <div class="stat-widget-one"> | 
				
			||||
 | 
					                            <div class="stat-icon"> | 
				
			||||
 | 
					                                <i class="fa fa-graduation-cap"/> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                            <div class="stat-content"> | 
				
			||||
 | 
					                                <div class="stat-head">Student Promotions</div> | 
				
			||||
 | 
					                            </div> | 
				
			||||
 | 
					                        </div> | 
				
			||||
 | 
					                    </div> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					        <div class="render_graph_div col-lg-12 col-md-2"> | 
				
			||||
 | 
					            <!-- Division to show the bar chart for applications --> | 
				
			||||
 | 
					            <div class="chart-container inline"> | 
				
			||||
 | 
					                <h2>Applications</h2> | 
				
			||||
 | 
					                <hr/> | 
				
			||||
 | 
					                <div class="graph_canvas"> | 
				
			||||
 | 
					                    <canvas class="application_count" width="340px" | 
				
			||||
 | 
					                            height="400px"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Division to show the pie chart for exam results --> | 
				
			||||
 | 
					            <div class="pie-container inline"> | 
				
			||||
 | 
					                <h2>Exam Result</h2> | 
				
			||||
 | 
					                <hr/> | 
				
			||||
 | 
					                <!-- Division for chart filter --> | 
				
			||||
 | 
					                <div class="pie-chart-filter" style="margin-left:180px;"> | 
				
			||||
 | 
					                    <select class="academic_year_filter" id="select_period" | 
				
			||||
 | 
					                            required="true"> | 
				
			||||
 | 
					                    </select> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!-- Division to show the chart --> | 
				
			||||
 | 
					                <div class="pie_canvas" style="margin-left:180px;"> | 
				
			||||
 | 
					                    <canvas class="exam_result" width="100%"/> | 
				
			||||
 | 
					                    <canvas id="academic_exam_result" | 
				
			||||
 | 
					                            class="academic_exam_result" width="100%"/> | 
				
			||||
 | 
					                    <canvas class="no_data_exam_result" width="100%"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Division to show the line chart for student strength --> | 
				
			||||
 | 
					            <div class="student-strength-container inline"> | 
				
			||||
 | 
					                <h2>Student Strength</h2> | 
				
			||||
 | 
					                <hr/> | 
				
			||||
 | 
					                <div class="student_strength_canvas"> | 
				
			||||
 | 
					                    <canvas class="student_strength" width="340px" | 
				
			||||
 | 
					                            height="400px"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Division to show the bar chart for rejected and accepted | 
				
			||||
 | 
					            applications --> | 
				
			||||
 | 
					            <div class="rejected-application-container inline"> | 
				
			||||
 | 
					                <h2>Rejected Applications</h2> | 
				
			||||
 | 
					                <hr/> | 
				
			||||
 | 
					                <div class="rejected_canvas"> | 
				
			||||
 | 
					                    <canvas class="rejected_accepted_count" width="340px" | 
				
			||||
 | 
					                            height="400px"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Division to show the bar chart for average marks --> | 
				
			||||
 | 
					            <div class="class-average-marks-container inline"> | 
				
			||||
 | 
					                <h2>Average Marks</h2> | 
				
			||||
 | 
					                <hr/> | 
				
			||||
 | 
					                <div class="average_mark_canvas"> | 
				
			||||
 | 
					                    <canvas class="average_marks" width="340px" | 
				
			||||
 | 
					                            height="400px"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					            <!-- Division to show the doughnut chart for attendance --> | 
				
			||||
 | 
					            <div class="doughnut-container inline"> | 
				
			||||
 | 
					                <h2>Attendance</h2> | 
				
			||||
 | 
					                <hr/> | 
				
			||||
 | 
					                <!-- Division for attendance filter --> | 
				
			||||
 | 
					                <div class="doughnut-chart-filter" style="margin-left:180px;"> | 
				
			||||
 | 
					                    <select class="class_attendance_filter" id="select_class" | 
				
			||||
 | 
					                            required="true"> | 
				
			||||
 | 
					                    </select> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					                <!-- Division to show the chart --> | 
				
			||||
 | 
					                <div class="doughnut_canvas" style="margin-left:180px;"> | 
				
			||||
 | 
					                    <canvas class="total_attendance_today" width="100%"/> | 
				
			||||
 | 
					                    <canvas class="class_attendance_today" width="100%"/> | 
				
			||||
 | 
					                </div> | 
				
			||||
 | 
					            </div> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </t> | 
				
			||||
 | 
					</template> | 
				
			||||
@ -0,0 +1,9 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<!-- Main template for the dashboard --> | 
				
			||||
 | 
					<template> | 
				
			||||
 | 
					    <t t-name="EducationalDashboard"> | 
				
			||||
 | 
					        <div class="oh_dashboards"> | 
				
			||||
 | 
					            <div class="container-fluid my-5 o_hr_dashboard"/> | 
				
			||||
 | 
					        </div> | 
				
			||||
 | 
					    </t> | 
				
			||||
 | 
					</template> | 
				
			||||
@ -0,0 +1,9 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!-- Record to create a tag for Educational Dashboard --> | 
				
			||||
 | 
					    <record id="education_erp_dashboard_action" model="ir.actions.client"> | 
				
			||||
 | 
					        <field name="name">Educational Dashboard</field> | 
				
			||||
 | 
					        <field name="tag">erp_dashboard_tag</field> | 
				
			||||
 | 
					        <field name="target">current</field> | 
				
			||||
 | 
					    </record> | 
				
			||||
 | 
					</odoo> | 
				
			||||
@ -0,0 +1,11 @@ | 
				
			|||||
 | 
					<?xml version="1.0" encoding="UTF-8" ?> | 
				
			||||
 | 
					<odoo> | 
				
			||||
 | 
					    <!-- Root menu item representing the Educational Dashboard --> | 
				
			||||
 | 
					    <menuitem id="education_erp_dashboard_menu_root" | 
				
			||||
 | 
					              name="Educational Dashboard" | 
				
			||||
 | 
					              web_icon="education_erp_dashboard,static/description/icon.png"/> | 
				
			||||
 | 
					    <!-- Submenu of Educational Dashboard which linked to an action  --> | 
				
			||||
 | 
					    <menuitem id="education_erp_dashboard_menu" name="Dashboard" | 
				
			||||
 | 
					              action="education_erp_dashboard_action" | 
				
			||||
 | 
					              parent="education_erp_dashboard_menu_root"/> | 
				
			||||
 | 
					</odoo> | 
				
			||||