diff --git a/gym_mgmt_system/README.rst b/gym_mgmt_system/README.rst new file mode 100644 index 000000000..f9d5a8e72 --- /dev/null +++ b/gym_mgmt_system/README.rst @@ -0,0 +1,47 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +GYM Management System +===================== +This module is used for the managing gym we can add membership, member, workout plans etc in this module basically for managing the membership,member, workout plan etc. + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developers: (V16) Sahla Sherin , + (V17) Gayathri V +Contact:odoo@cybrosys.com + +License +======= +GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 (AGPLv3) +(http://www.gnu.org/licenses/agpl.html) + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +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 `__ + +Further information +=================== +HTML Description: ``__ diff --git a/gym_mgmt_system/__init__.py b/gym_mgmt_system/__init__.py new file mode 100644 index 000000000..5970bf2ff --- /dev/null +++ b/gym_mgmt_system/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models +from . import wizard diff --git a/gym_mgmt_system/__manifest__.py b/gym_mgmt_system/__manifest__.py new file mode 100644 index 000000000..a6fb17672 --- /dev/null +++ b/gym_mgmt_system/__manifest__.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'GYM Management System', + 'version': '17.0.1.0.0', + 'category': 'Industries', + 'summary': 'GYM Management System For Managing ' + 'Membership, Member, Workout Plan, etc', + 'description': 'This module is used for the managing gym we can add ' + 'membership, member, workout plans etc in this module ' + 'basically for managing the membership,member, workout ' + 'plan etc', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': [ 'mail', 'contacts', 'hr', + 'product', 'membership', 'sale_management', + ], + 'data': [ + 'security/gym_mgmt_system_groups.xml', + 'security/ir.model.access.csv', + 'security/gym_mgmt_system_security.xml', + 'data/ir_sequence_data.xml', + 'wizard/assign_workout.xml', + 'views/product_template_views.xml', + 'views/res_partner_views.xml', + 'views/exercise_for_views.xml', + 'views/gym_exercise_views.xml', + 'views/gym_membership_views.xml', + 'views/measurement_history_views.xml', + 'views/membership_plan_views.xml', + 'views/gym_report_views.xml', + 'views/trainer_skill_views.xml', + 'views/workout_plan_views.xml', + 'views/workout_days_views.xml', + 'views/my_workout_plan_views.xml', + 'views/hr_employee_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/gym_mgmt_system/data/ir_sequence_data.xml b/gym_mgmt_system/data/ir_sequence_data.xml new file mode 100644 index 000000000..c523957e9 --- /dev/null +++ b/gym_mgmt_system/data/ir_sequence_data.xml @@ -0,0 +1,11 @@ + + + + + Gym Membership sequence + gym.membership + MEMPLAN/ + 4 + + + diff --git a/gym_mgmt_system/doc/RELEASE_NOTES.md b/gym_mgmt_system/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..3d6bcf7ba --- /dev/null +++ b/gym_mgmt_system/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 04.01.2024 +#### Version 17.0.1.0.0 +#### ADD +- Initial commit for GYM Management System diff --git a/gym_mgmt_system/models/__init__.py b/gym_mgmt_system/models/__init__.py new file mode 100644 index 000000000..fd43618f0 --- /dev/null +++ b/gym_mgmt_system/models/__init__.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import exercise_for +from . import gym_exercise +from . import gym_membership +from . import gym_report +from . import hr_employee +from . import measurement_history +from . import my_workout_plan +from . import product_template +from . import res_partner +from . import sale_order +from . import trainer_skill +from . import workout_days +from . import workout_plan +from . import workout_plan_option diff --git a/gym_mgmt_system/models/exercise_for.py b/gym_mgmt_system/models/exercise_for.py new file mode 100644 index 000000000..be00230bf --- /dev/null +++ b/gym_mgmt_system/models/exercise_for.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ExerciseFor(models.Model): + """This model mention why this exercise for.""" + _name = "exercise.for" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Gym Exercise For" + + name = fields.Char(string="Name", help='This hold the name ') + company_id = fields.Many2one('res.company', string='Company', + default=lambda self: self.env.company, + help='This field hold the company id') diff --git a/gym_mgmt_system/models/gym_exercise.py b/gym_mgmt_system/models/gym_exercise.py new file mode 100644 index 000000000..ece1617a8 --- /dev/null +++ b/gym_mgmt_system/models/gym_exercise.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models, _ +from odoo.addons.web_editor.tools import get_video_embed_code +from odoo.exceptions import ValidationError + + +class GymExercise(models.Model): + """The model gym. exercise for defining the exercises.""" + _name = "gym.exercise" + _inherit = ["mail.thread", "mail.activity.mixin", "image.mixin"] + _description = "Gym Exercises" + _columns = { + 'image': fields.Binary("Image", help="This field holds the image" + )} + + name = fields.Char(string="Name", help='Define the name of exercise') + exercise_for_ids = fields.Many2many("exercise.for", + string="Exercise For", + help='For which part this exercise') + equipment_id = fields.Many2one('product.product', + string='Equipment', + required=True, tracking=True, + domain="[('is_gym_product', '!=',False)]", + help='The equipment used') + note_benefit = fields.Html(string='Note', help='Can add note here') + note_step = fields.Html(string='Note', help='Can add note step') + embed_code = fields.Html(compute="_compute_embed_code", sanitize=False, + help='The embed code') + video_url = fields.Char(string='Video URL', + help='URL of a video for showcasing your product.') + image = fields.Binary(string="Image", help="This field holds the image") + image12 = fields.Binary(string="Image", help="This field holds the image") + image123 = fields.Binary(string="Image", help="This field holds the image") + image124 = fields.Binary(string="Image", help="This field holds the image") + company_id = fields.Many2one('res.company', string='Company', + default=lambda self: self.env.company, + help='This field hold the company id') + + @api.constrains('video_url') + def _check_valid_video_url(self): + """Check url is valid or not """ + for image in self: + if image.video_url and not image.embed_code: + raise ValidationError( + _("Provided video URL for '%s' is not valid. " + "Please enter a valid video URL.", image.name)) + + @api.depends('video_url') + def _compute_embed_code(self): + """To get video field """ + for image in self: + image.embed_code = get_video_embed_code(image.video_url) diff --git a/gym_mgmt_system/models/gym_membership.py b/gym_mgmt_system/models/gym_membership.py new file mode 100644 index 000000000..8db38be77 --- /dev/null +++ b/gym_mgmt_system/models/gym_membership.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models, _ + + +class GymMembership(models.Model): + """This model is for gym membership.""" + _name = "gym.membership" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Gym Membership" + _rec_name = "reference" + + reference = fields.Char(string='GYM reference', readonly=True, + default=lambda self: _('New'), + help="Member reference") + member_id = fields.Many2one('res.partner', string='Member', + required=True, tracking=True, + help="Member taken the membership", + domain="[('is_gym_member', '!=',False)]") + membership_scheme_id = fields.Many2one('product.product', + string='Membership scheme', + help="Member ship scheme", + required=True, tracking=True, + domain="[('membership_date_from', " + "'!=',False)]") + paid_amount = fields.Float(string="Paid Amount", tracking=True, + help="The amount paid for the membership") + membership_fees = fields.Float(string="Membership Fees", tracking=True, + help="The membership fees", + related="membership_scheme_id.list_price") + sale_order_id = fields.Many2one('sale.order', string='Sales Order', + ondelete='cascade', copy=False, + help="Order reference", + readonly=True) + membership_date_from = fields.Date(string='Membership Start Date', + related="membership_scheme_id." + "membership_date_from", + help='Date from which membership ' + 'becomes active.') + membership_date_to = fields.Date(string='Membership End Date', + related="membership_scheme_id.membership_" + "date_to", + help='Date until which membership remains' + 'active.') + company_id = fields.Many2one('res.company', string='Company', + default=lambda self: self.env.company, + help='The field hold the company id') + state = fields.Selection([ + ('draft', 'Draft'), + ('confirm', 'Confirm'), + ('cancelled', 'Cancelled') + ], default='draft', string='Status', + help="The status of record defined here") + + _sql_constraints = [ + ('membership_date_greater', + 'check(membership_date_to >= membership_date_from)', + 'Error ! Ending Date cannot be set before Beginning Date.') + ] + + @api.model + def create_multi(self, vals): + """Sequence number for membership """ + if vals.get('reference', 'New') == 'New': + vals['reference'] = self.env['ir.sequence'].next_by_code( + 'gym.membership') or 'New' + res = super(GymMembership, self).create(vals) + return res diff --git a/gym_mgmt_system/models/gym_report.py b/gym_mgmt_system/models/gym_report.py new file mode 100644 index 000000000..6fca83b25 --- /dev/null +++ b/gym_mgmt_system/models/gym_report.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class GymReport(models.Model): + """This module is for the gym report.""" + _name = "gym.report" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Gym Report" + + name = fields.Char(string="Name", help="Name of the report") diff --git a/gym_mgmt_system/models/hr_employee.py b/gym_mgmt_system/models/hr_employee.py new file mode 100644 index 000000000..ec8574241 --- /dev/null +++ b/gym_mgmt_system/models/hr_employee.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class HrEmployee(models.Model): + """Inherited the model hr employee for adding some field to check whether he + is trainer or not.""" + _inherit = 'hr.employee' + + is_trainer = fields.Boolean(string='Gym Trainer', + help="The employee is trainer ") + exercise_for_ids = fields.Many2many("trainer.skill", + string="Specialization", + help="Skill of the trainer") diff --git a/gym_mgmt_system/models/measurement_history.py b/gym_mgmt_system/models/measurement_history.py new file mode 100644 index 000000000..416ae4ec7 --- /dev/null +++ b/gym_mgmt_system/models/measurement_history.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models + + +class MeasurementHistory(models.Model): + """This model used for measurement history.""" + _name = "measurement.history" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Measurement History" + _rec_name = "gender" + + def _get_default_weight_uom(self): + """ to get default weight uom """ + return self.env[ + 'product.template']._get_weight_uom_name_from_ir_config_parameter() + + member_id = fields.Many2one('res.partner', string='Member', + tracking=True, required=True, + domain="[('is_gym_member', '!=',False)]", + help='Name of the member') + gender = fields.Selection([ + ('male', 'Male'), + ('female', 'Female'), + ('other', 'Other'), + ], string="Gender", required=True, help='Select the gender') + age = fields.Integer(string='Age', tracking=True, required=True, + help='Age of the member') + weight = fields.Float( + 'Weight', digits='Stock Weight', store=True, + help='Define the your weight') + weight_uom_name = fields.Char(string='Weight unit of measure label', + default=_get_default_weight_uom, + help='Weight of uom') + height = fields.Float( + 'Height', digits='Stock Height', store=True, help='Define your ' + 'height') + height_uom_name = fields.Char(string='Height unit of measure label', + default='cm', help='Uom for height') + bmi = fields.Float(string='BMI', store=True, + compute='_compute_display_name', help='Calculate BMI') + bmr = fields.Float(string='BMR', store=True, + compute='_compute_display_name', + help='Calculate BMR') + neck = fields.Float(string='Neck', store=True, help='The length of neck') + biceps = fields.Float(string='Biceps', store=True, + help='The length of biceps') + calf = fields.Float(string='Calf', store=True, help='The length of calf') + hips = fields.Float(string='Hips', store=True, help='The length of hips') + chest = fields.Float(string='Chest', store=True, + help='The length of chest') + waist = fields.Float(string='Waist', store=True, + help='The length of waist') + thighs = fields.Float(string='Thighs', store=True, + help='The length of thighs') + date = fields.Date(string='Date', + help='Date from which measurement active.') + company_id = fields.Many2one('res.company', string='Company', + default=lambda self: self.env.company, + help="This field hold the company id") + + @api.depends('weight', 'height') + def _compute_display_name(self): + """Based on weight and height ,calculate the bmi and bmr""" + self.bmi = self.bmr = 0 + self.display_name = self.member_id.name + if self.weight and self.height: + self.bmi = (self.weight / self.height / self.height) * 10000 + if self.gender == "male": + self.bmr = 66.47 + (13.75 * self.weight) + \ + (5.003 * self.height) - (6.755 * self.age) + if self.gender == "female": + self.bmr = 655.1 + (9.563 * self.weight) + \ + (1.85 * self.height) - (6.755 * self.age) + else: + self.bmi = 1 + self.bmr = 1 + self.display_name = self.member_id.name diff --git a/gym_mgmt_system/models/my_workout_plan.py b/gym_mgmt_system/models/my_workout_plan.py new file mode 100644 index 000000000..28e0e879f --- /dev/null +++ b/gym_mgmt_system/models/my_workout_plan.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class MyWorkoutPlan(models.Model): + """This model for showing my workout plans.""" + _name = "my.workout.plan" + _inherit = ["mail.thread", "mail.activity.mixin", "image.mixin"] + _description = "My Workout Plan" + _rec_name = "payment_term_id" + + payment_term_id = fields.Many2one('workout.plan', + string="Name", help="payment term ") + assign_to_id = fields.Many2one('res.partner', + string='Assign To', + domain="[('is_gym_member', '!=',False)]", + default=lambda self: self.env.user, + help="Assigned person") + from_date = fields.Date(string='Date From', help="Start date") + to_date = fields.Date(string='Date To', help="End date") diff --git a/gym_mgmt_system/models/product_template.py b/gym_mgmt_system/models/product_template.py new file mode 100644 index 000000000..0de1fb5b9 --- /dev/null +++ b/gym_mgmt_system/models/product_template.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class ProductTemplate(models.Model): + """Inherited the model product Template for adding a field.""" + _inherit = 'product.template' + + is_gym_product = fields.Boolean(string='Gym Product', + help='This help to define the product ' + 'whether' + 'it is gym product') diff --git a/gym_mgmt_system/models/res_partner.py b/gym_mgmt_system/models/res_partner.py new file mode 100644 index 000000000..c61f54213 --- /dev/null +++ b/gym_mgmt_system/models/res_partner.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models + + +class ResPartner(models.Model): + """Inherited the partner model for adding gym related fields.""" + _inherit = 'res.partner' + + is_gym_member = fields.Boolean(string='Gym Member', default=True, + help='This field define the whether is ' + 'member of gym') + membership_count = fields.Integer(string='Membership Count', + compute='_compute_membership_count', + help='This help to count the membership') + measurement_count = fields.Integer(string='Measurement Count', + compute='_compute_measurement_count', + help='This helps to get the umber of ' + 'measurements for gym members') + + def _compute_membership_count(self): + """Number of membership for gym members """ + for rec in self: + rec.membership_count = self.env['gym.membership'].search_count([ + ('member_id', '=', rec.id)]) + + def _compute_measurement_count(self): + """Number of measurements for gym members """ + for rec in self: + rec.measurement_count = self.env[ + 'measurement.history'].search_count([('member_id', '=', + rec.id)]) + + @api.constrains('is_gym_member') + def _validate_gym_member(self): + """Select sale person to assign workout plan """ + if self.is_gym_member: + return { + 'warning': { + 'title': 'User Error', + 'message': 'select sale person (sales & purchase) ' + 'to assign workout plan'} + } diff --git a/gym_mgmt_system/models/sale_order.py b/gym_mgmt_system/models/sale_order.py new file mode 100644 index 000000000..4128bb71e --- /dev/null +++ b/gym_mgmt_system/models/sale_order.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import models, _ + + +class SaleOrder(models.Model): + """Inherit the sale.order model for supering the action confirm.""" + _inherit = "sale.order" + + def action_confirm(self): + """ Membership created directly from sale order confirmed """ + product = self.env['product.product'].search([ + ('membership_date_from', '!=', False), + ('id', '=', self.order_line.product_id.id)]) + for record in product: + self.env['gym.membership'].create([ + {'member_id': self.partner_id.id, + 'membership_date_from': record.membership_date_from, + 'membership_scheme_id': self.order_line.product_id.id, + 'sale_order_id': self.id, + }]) + res = super().action_confirm() + return res diff --git a/gym_mgmt_system/models/trainer_skill.py b/gym_mgmt_system/models/trainer_skill.py new file mode 100644 index 000000000..e0fc5dbe9 --- /dev/null +++ b/gym_mgmt_system/models/trainer_skill.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class TrainerSkill(models.Model): + """This model is showing the trainer skill.""" + _name = "trainer.skill" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Trainer Skill" + + name = fields.Char(string="Name", help="Name of the trainer") + code = fields.Char(string="Code", help="Code for the trainer") + company_id = fields.Many2one('res.company', string='Company', + default=lambda self: self.env.company, + help="This field hold company id") diff --git a/gym_mgmt_system/models/workout_days.py b/gym_mgmt_system/models/workout_days.py new file mode 100644 index 000000000..8b1085e5c --- /dev/null +++ b/gym_mgmt_system/models/workout_days.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models, _ + + +class WorkoutDays(models.Model): + """This model is used for getting workout days.""" + _name = "workout.days" + _description = "Days given for Workout" + + name = fields.Char(string='Workout days', required=True, + help="Days given for Workout") diff --git a/gym_mgmt_system/models/workout_plan.py b/gym_mgmt_system/models/workout_plan.py new file mode 100644 index 000000000..362b3bc86 --- /dev/null +++ b/gym_mgmt_system/models/workout_plan.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author:Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models, _ + + +class WorkoutPlan(models.Model): + """The model contain workout plan.""" + _name = "workout.plan" + _inherit = ["mail.thread", "mail.activity.mixin", "image.mixin"] + _description = "Workout Plan" + + name = fields.Char(string="Name", help="Name of the workout plan") + workout_days_ids = fields.Many2many("workout.days", + string="Workout Days", help="Workout " + "days") + workout_plan_option_ids = fields.One2many( + 'workout.plan.option', 'order_id', + string='Optional Products Lines', help="Workout plan option") + company_id = fields.Many2one('res.company', string='Company', + default=lambda self: self.env.company, + help="The current company") + + def action_workout_plan(self): + """Wizard opened to create my workout plans """ + assign_workout_form = self.env.ref( + 'gym_mgmt_system.view_workout_plan_wizard', False) + assign_workout_id = self.env['assign.workout'].create({ + 'workout_plan_id': self.id, + }) + return { + 'name': _('Assign Workout Plan'), + 'type': 'ir.actions.act_window', + 'res_model': 'assign.workout', + 'res_id': assign_workout_id.id, + 'view_id': assign_workout_form, + 'view_type': 'form', + 'view_mode': 'form', + 'target': 'new', + } diff --git a/gym_mgmt_system/models/workout_plan_option.py b/gym_mgmt_system/models/workout_plan_option.py new file mode 100644 index 000000000..91f32628f --- /dev/null +++ b/gym_mgmt_system/models/workout_plan_option.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V () +# +# You can modify it under the terms of the GNU LESSER +# 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 LESSER GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class WorkoutPlanOption(models.Model): + """This model workout plan option is used adding the option for the workout + """ + _name = "workout.plan.option" + _description = "Workout Option" + _order = 'id' + + order_id = fields.Many2one('workout.plan', string='Workout' + ' Plan Reference', + ondelete='cascade', + index=True, help="Workout plan") + name = fields.Text(string='Description', required=True, + help="Name of the workout plan option") + exercise_id = fields.Many2one('gym.exercise', string='Exercises', + required=True, help="Exercise for the plan") + equipment_id = fields.Many2one('product.product', + string='Equipment', required=True, + tracking=True, help="Equipment for the " + "workout", + domain="[('is_gym_product', '!=',False)]", ) + sets = fields.Integer(string="Sets", help="Number of sets") + repeat = fields.Integer(string="Repeat", help="Number of repeat for cycle") + company_id = fields.Many2one('res.company', string='Company', + required=True, readonly=True, + default=lambda self: self.env.company, + help="The current company") diff --git a/gym_mgmt_system/security/gym_mgmt_system_groups.xml b/gym_mgmt_system/security/gym_mgmt_system_groups.xml new file mode 100644 index 000000000..bd59d1a23 --- /dev/null +++ b/gym_mgmt_system/security/gym_mgmt_system_groups.xml @@ -0,0 +1,22 @@ + + + + + Gym Management + category for Gym Management + + + Member + + + + Trainer + + + + + Operator + + + + diff --git a/gym_mgmt_system/security/gym_mgmt_system_security.xml b/gym_mgmt_system/security/gym_mgmt_system_security.xml new file mode 100644 index 000000000..c3b6829ae --- /dev/null +++ b/gym_mgmt_system/security/gym_mgmt_system_security.xml @@ -0,0 +1,44 @@ + + + + + Gym Management Exercise Rule + + [('company_id', 'in', company_ids)] + + + Gym Management Exercise For Rule + + [('company_id', 'in', company_ids)] + + + Gym Management Measurement History Rule + + [('company_id', 'in', company_ids)] + + + Gym Management Trainer Rule + + [('company_id', 'in', company_ids)] + + + Gym Management Gym Member Rule + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + Gym Management Membership Rule + + [('company_id', 'in', company_ids)] + + + Gym Management Trainer skill Rule + + [('company_id', 'in', company_ids)] + + + Gym Management Trainer skill Rule + + [('company_id', 'in', company_ids)] + + diff --git a/gym_mgmt_system/security/ir.model.access.csv b/gym_mgmt_system/security/ir.model.access.csv new file mode 100644 index 000000000..1e0193f66 --- /dev/null +++ b/gym_mgmt_system/security/ir.model.access.csv @@ -0,0 +1,49 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_assign_workout,access.assign.workout,model_assign_workout,gym_mgmt_system.group_gym_trainer,1,0,0,0 +access_assign_workout,access.assign.workout,model_assign_workout,gym_mgmt_system.group_gym_member,1,0,0,0 +access_assign_workout_operator,access.assign.workout,model_assign_workout,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_hr_employee_trainer,access.hr.employee,model_hr_employee,gym_mgmt_system.group_gym_trainer,1,1,1,0 +access_hr_employee_member,access.hr.employee,model_hr_employee,gym_mgmt_system.group_gym_member,1,0,0,0 +access_hr_employee_operator,access.hr.employee,model_hr_employee,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_sale_order_trainer,access.sale.order,model_sale_order,gym_mgmt_system.group_gym_trainer,1,1,1,0 +access_sale_order_member,access.sale.order,model_sale_order,gym_mgmt_system.group_gym_member,1,0,0,0 +access_sale_order_operator,access.sale.order,model_sale_order,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_product_template_trainer,access.product.template,model_product_template,gym_mgmt_system.group_gym_trainer,1,1,1,0 +access_product_template_member,access.product.template,model_product_template,gym_mgmt_system.group_gym_member,1,0,0,0 +access_product_template_operator,access.product.template,model_product_template,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_res_partner_trainer,access.res.partner,model_res_partner,gym_mgmt_system.group_gym_trainer,1,0,0,0 +access_res_partner_operator,access.res.partner,model_res_partner,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_res_partner_member,access.res.partner,model_res_partner,gym_mgmt_system.group_gym_member,1,0,0,0 +access_gym_membership_operator,access.gym.membership,model_gym_membership,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_gym_membership_trainer,access.gym.membership,model_gym_membership,gym_mgmt_system.group_gym_trainer,1,0,0,0 +access_gym_membership_member,access.gym.membership,model_gym_membership,gym_mgmt_system.group_gym_member,1,0,0,0 +access_measurement_history_operator,access.measurement.history,model_measurement_history,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_measurement_history_trainer,access.measurement.history,model_measurement_history,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_measurement_history_member,access.measurement.history,model_measurement_history,gym_mgmt_system.group_gym_member,1,0,0,0 +access_trainer_skill_operator,access.trainer_skill,model_trainer_skill,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_trainer_skill_member,access.trainer_skill,model_trainer_skill,gym_mgmt_system.group_gym_member,1,0,0,0 +access_trainer_skill_trainer,access.trainer_skill,model_trainer_skill,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_product_template_trainer,access.product_template,model_product_template,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_product_template_member,access.product_template,model_product_template,gym_mgmt_system.group_gym_member,1,0,0,0 +access_product_template_operator,access.product_template,model_product_template,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_workout_plan_operator,access.workout.plan,model_workout_plan,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_workout_plan_trainer,access.workout.plan,model_workout_plan,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_workout_plan_member,access.workout.plan,model_workout_plan,gym_mgmt_system.group_gym_member,1,0,0,0 +access_workout_plan_option_operator,access.workout.plan.option,model_workout_plan_option,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_workout_plan_option_trainer,access.workout.plan.option,model_workout_plan_option,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_workout_plan_option_member,access.workout.plan.option,model_workout_plan_option,gym_mgmt_system.group_gym_member,1,0,0,0 +access_workout_days_operator,access.workout.days,model_workout_days,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_workout_days_trainer,access.workout.days,model_workout_days,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_workout_days_member,access.workout.days,model_workout_days,gym_mgmt_system.group_gym_member,1,1,0,0 +access_gym_exercise_operator,access.gym.exercise,model_gym_exercise,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_gym_exercise_trainer,access.gym.exercise,model_gym_exercise,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_gym_exercise_member,access.gym.exercise,model_gym_exercise,gym_mgmt_system.group_gym_member,1,0,0, +access_exercise_for_operator,access.exercise.for,model_exercise_for,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_exercise_for_trainer,access.exercise.for,model_exercise_for,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_exercise_for_member,access.exercise.for,model_exercise_for,gym_mgmt_system.group_gym_member,1,0,0,0 +access_trainer_skill_operator,access.trainer.skill,model_trainer_skill,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_trainer_skill_trainer,access.trainer.skill,model_trainer_skill,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_trainer_skill_member,access.trainer.skill,model_trainer_skill,gym_mgmt_system.group_gym_member,1,0,0,0 +access_my_workout_plan_operator,access.my.workout.plan,model_my_workout_plan,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_my_workout_plan_trainer,access.my.workout.plan,model_my_workout_plan,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_my_workout_plan_member,access.my.workout.plan,model_my_workout_plan,gym_mgmt_system.group_gym_member,1,0,0,0 diff --git a/gym_mgmt_system/static/description/assets/icons/capture (1).png b/gym_mgmt_system/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/capture (1).png differ diff --git a/gym_mgmt_system/static/description/assets/icons/check.png b/gym_mgmt_system/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/check.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/chevron.png b/gym_mgmt_system/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/chevron.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/cogs.png b/gym_mgmt_system/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/cogs.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/consultation.png b/gym_mgmt_system/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/consultation.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/ecom-black.png b/gym_mgmt_system/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/ecom-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/education-black.png b/gym_mgmt_system/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/education-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/hotel-black.png b/gym_mgmt_system/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/hotel-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/img.png b/gym_mgmt_system/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/img.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/license.png b/gym_mgmt_system/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/license.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/lifebuoy.png b/gym_mgmt_system/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/lifebuoy.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/logo.png b/gym_mgmt_system/static/description/assets/icons/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/logo.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/manufacturing-black.png b/gym_mgmt_system/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/manufacturing-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/photo-capture.png b/gym_mgmt_system/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/photo-capture.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/pos-black.png b/gym_mgmt_system/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/pos-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/puzzle.png b/gym_mgmt_system/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/puzzle.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/restaurant-black.png b/gym_mgmt_system/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/restaurant-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/service-black.png b/gym_mgmt_system/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/service-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/trading-black.png b/gym_mgmt_system/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/trading-black.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/training.png b/gym_mgmt_system/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/training.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/update.png b/gym_mgmt_system/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/update.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/user.png b/gym_mgmt_system/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/user.png differ diff --git a/gym_mgmt_system/static/description/assets/icons/wrench.png b/gym_mgmt_system/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/icons/wrench.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/Cybrosys R.png b/gym_mgmt_system/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/Cybrosys R.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/categories.png b/gym_mgmt_system/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/categories.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/check-box.png b/gym_mgmt_system/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/check-box.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/compass.png b/gym_mgmt_system/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/compass.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/corporate.png b/gym_mgmt_system/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/corporate.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/customer-support.png b/gym_mgmt_system/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/customer-support.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/cybrosys-logo.png b/gym_mgmt_system/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/cybrosys-logo.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/email.svg b/gym_mgmt_system/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gym_mgmt_system/static/description/assets/misc/features.png b/gym_mgmt_system/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/features.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/logo.png b/gym_mgmt_system/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/logo.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/phone.svg b/gym_mgmt_system/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/gym_mgmt_system/static/description/assets/misc/pictures.png b/gym_mgmt_system/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/pictures.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/pie-chart.png b/gym_mgmt_system/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/pie-chart.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/right-arrow.png b/gym_mgmt_system/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/right-arrow.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/star (1) 2.svg b/gym_mgmt_system/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/gym_mgmt_system/static/description/assets/misc/star.png b/gym_mgmt_system/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/star.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/support (1) 1.svg b/gym_mgmt_system/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/gym_mgmt_system/static/description/assets/misc/support-email.svg b/gym_mgmt_system/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/gym_mgmt_system/static/description/assets/misc/support.png b/gym_mgmt_system/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/support.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/tick-mark.svg b/gym_mgmt_system/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/gym_mgmt_system/static/description/assets/misc/whatsapp 1.svg b/gym_mgmt_system/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/gym_mgmt_system/static/description/assets/misc/whatsapp.png b/gym_mgmt_system/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/misc/whatsapp.png differ diff --git a/gym_mgmt_system/static/description/assets/misc/whatsapp.svg b/gym_mgmt_system/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/gym_mgmt_system/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gym_mgmt_system/static/description/assets/modules/1.png b/gym_mgmt_system/static/description/assets/modules/1.png new file mode 100644 index 000000000..ba1058c42 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/1.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/2.png b/gym_mgmt_system/static/description/assets/modules/2.png new file mode 100644 index 000000000..6949185dd Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/2.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/3.png b/gym_mgmt_system/static/description/assets/modules/3.png new file mode 100644 index 000000000..4e506f79b Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/3.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/4.png b/gym_mgmt_system/static/description/assets/modules/4.png new file mode 100644 index 000000000..e78427938 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/4.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/5.gif b/gym_mgmt_system/static/description/assets/modules/5.gif new file mode 100644 index 000000000..2a5f8e659 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/5.gif differ diff --git a/gym_mgmt_system/static/description/assets/modules/5.png b/gym_mgmt_system/static/description/assets/modules/5.png new file mode 100755 index 000000000..272ec20f9 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/5.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/6.png b/gym_mgmt_system/static/description/assets/modules/6.png new file mode 100644 index 000000000..7d5c3154f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/6.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/budget_image.png b/gym_mgmt_system/static/description/assets/modules/budget_image.png new file mode 100644 index 000000000..b50130c7d Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/budget_image.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/credit_image.png b/gym_mgmt_system/static/description/assets/modules/credit_image.png new file mode 100644 index 000000000..3ad04ecfd Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/credit_image.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/employee_image.png b/gym_mgmt_system/static/description/assets/modules/employee_image.png new file mode 100644 index 000000000..30ad58232 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/employee_image.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/export_image.png b/gym_mgmt_system/static/description/assets/modules/export_image.png new file mode 100644 index 000000000..492980ad0 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/export_image.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/gantt_image.png b/gym_mgmt_system/static/description/assets/modules/gantt_image.png new file mode 100644 index 000000000..1ae7cfe3b Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/gantt_image.png differ diff --git a/gym_mgmt_system/static/description/assets/modules/quotation_image.png b/gym_mgmt_system/static/description/assets/modules/quotation_image.png new file mode 100644 index 000000000..499b1a72f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/modules/quotation_image.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/1.png b/gym_mgmt_system/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..095cb9dfc Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/1.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/10.png b/gym_mgmt_system/static/description/assets/screenshots/10.png new file mode 100644 index 000000000..4716fc0a0 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/10.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/11.png b/gym_mgmt_system/static/description/assets/screenshots/11.png new file mode 100644 index 000000000..3e8a12c7a Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/11.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/12.png b/gym_mgmt_system/static/description/assets/screenshots/12.png new file mode 100644 index 000000000..09a8eaf7a Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/12.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/13.png b/gym_mgmt_system/static/description/assets/screenshots/13.png new file mode 100644 index 000000000..d4f50f02c Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/13.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/14.png b/gym_mgmt_system/static/description/assets/screenshots/14.png new file mode 100644 index 000000000..c7b7b117e Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/14.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/15.png b/gym_mgmt_system/static/description/assets/screenshots/15.png new file mode 100644 index 000000000..841da2fdb Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/15.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/16.png b/gym_mgmt_system/static/description/assets/screenshots/16.png new file mode 100644 index 000000000..3827fc7f8 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/16.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/17.png b/gym_mgmt_system/static/description/assets/screenshots/17.png new file mode 100644 index 000000000..8e883ee3f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/17.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/18.png b/gym_mgmt_system/static/description/assets/screenshots/18.png new file mode 100644 index 000000000..675317da2 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/18.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/2.png b/gym_mgmt_system/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..c840c6a0d Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/2.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/3.png b/gym_mgmt_system/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..21a4004b8 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/3.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/4.png b/gym_mgmt_system/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..b8e855f17 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/4.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/5.png b/gym_mgmt_system/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..23666f259 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/5.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/6.png b/gym_mgmt_system/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..86dc0bea3 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/6.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/7.png b/gym_mgmt_system/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..8cd94cd5e Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/7.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/8.png b/gym_mgmt_system/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..70695586f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/8.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/9.png b/gym_mgmt_system/static/description/assets/screenshots/9.png new file mode 100644 index 000000000..13034f5df Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/9.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/hero.gif b/gym_mgmt_system/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..ed5d46f90 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/hero.gif differ diff --git a/gym_mgmt_system/static/description/banner.jpg b/gym_mgmt_system/static/description/banner.jpg new file mode 100644 index 000000000..12a613059 Binary files /dev/null and b/gym_mgmt_system/static/description/banner.jpg differ diff --git a/gym_mgmt_system/static/description/icon.png b/gym_mgmt_system/static/description/icon.png new file mode 100644 index 000000000..737cee979 Binary files /dev/null and b/gym_mgmt_system/static/description/icon.png differ diff --git a/gym_mgmt_system/static/description/index.html b/gym_mgmt_system/static/description/index.html new file mode 100644 index 000000000..27b43f3d2 --- /dev/null +++ b/gym_mgmt_system/static/description/index.html @@ -0,0 +1,969 @@ + + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+
+
+
+
+

+ Gym Management System +

+

+ GYM Management System For Managing Membership, Member, + Workout Plan, etc. +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

+ Members can check their workout plans, track + body measurements, access membership + details.

+
+
+
+
+
+
+ +
+
+

+ Trainer can create workout plans to members, + develop their skills.

+
+
+
+
+
+
+ +
+
+

+ Operator can manage trainers and members, Also + Access all the membership information.

+
+
+
+
+
+
+ +
+
+

+ Directly create new membership from sale + order.

+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+

+ Give Access rights to user.

+

+ Go to users and give the access right , Then + only user can access the management + module.

+
+
+
+
+
+
+ +
+
+

+ Manage Members.

+

+ Create new member and manage all members in + the gym. Also check the number of + measurements and memberships of members.

+
+
+
+
+
+
+ +
+
+

+ Manage Membership Plan.

+

+ User can create membership plans.

+
+
+
+
+
+
+ +
+
+

+ Detailed View of The Membership

+
+
+
+
+
+
+ +
+
+

+ Create Membership from sale Order.

+
+
+
+
+
+
+ +
+
+

+ Created Membership With SO Reference.

+
+
+
+
+
+
+ +
+
+

+ Measurement History.

+

+ - Automatically create BMI and BMR of + member.

+
+
+
+
+
+
+ +
+
+

+ Manage Trainers.

+

+ - Create specialization for trainer.

+
+
+
+
+
+
+ +
+
+

+ List View Of Trainer Skills

+
+
+
+
+
+
+ +
+
+

+ Workout Plan.

+
+
+
+
+
+
+ +
+
+

+ - Assign Workout Plans.

+
+
+
+
+
+
+ +
+
+

+ - Create Workout Days.

+
+
+
+
+
+
+ +
+
+

+ Gym Measurement Report .

+
+
+
+
+
+
+ +
+
+

+ Gym Equipments .

+
+
+
+
+
+
+ +
+
+

+ Gym Exercises .

+

+ - Create Exercise with their attributes like + benefits,steps,images etc.

+
+
+
+
+
+
+ +
+
+

+ - Create exercise for parts of body.

+
+
+
+
+
+
+ +
+
+

+ - Create exercise And Also Add Video As + Refernce.

+
+
+
+
+
+
+
    +
  • + Members can check + their workout + plans, track body measurements, access + membership details. +
  • +
  • + Trainer can create + workout plans + to members, develop their skills. +
  • +
  • + Operator can manage + trainers and + members, Also Access all the membership + information. +
  • +
  • + Directly create new + membership + from sale order. +
  • +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on:04nd Jan 2024 +
+

+ + Initial Commit for GYM Management System.

+
+
+
+
+
+ +
+
+

+ Related Products

+
+
+ +
+
+
+

+ Our Services

+ +
+
+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Customization

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Support

+
+
+
+
+
+
+ service-icon +
+
+

Hire + Odoo Developer

+
+
+
+
+ +
+
+ service-icon +
+
+

Odoo + Integration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Migration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Consultancy

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Licensing Consultancy

+
+
+
+
+
+
+

+ Our Industries

+ +
+
+
+
+
+
+ +

Trading

+

Easily procure and sell your products

+
+
+
+
+ +

POS

+

Easy configuration and convivial experience

+
+
+
+
+ +

+ Education

+

A platform for educational management

+
+
+
+
+ +

+ Manufacturing

+

Plan, track and schedule your operations

+
+
+
+
+ +

E-commerce & + Website

+

Mobile friendly, awe-inspiring product pages

+
+
+
+
+ +

Service + Management

+

Keep track of services and invoice

+
+
+
+
+ +

+ Restaurant

+

Run your bar or restaurant methodically

+
+
+
+
+ +

Hotel + Management

+

An all-inclusive hotel management application

+
+
+
+
+
+
+

+ Support

+
+
+
+
+
+
+
+ +
+ Need + Help? +

Got + questions or need help? Get in touch.

+
odoo@cybrosys.com +
+
+
+
+
+
+
+
+ +
+ WhatsApp +

Say hi to + us on WhatsApp!

+
+91 + 99456767686 +
+
+
+
+
+
+
+
+ + + + + + diff --git a/gym_mgmt_system/views/exercise_for_views.xml b/gym_mgmt_system/views/exercise_for_views.xml new file mode 100644 index 000000000..71fdabec7 --- /dev/null +++ b/gym_mgmt_system/views/exercise_for_views.xml @@ -0,0 +1,33 @@ + + + + + exercise.for.view.tree + exercise.for + + + + + + + + + + Exercise For + ir.actions.act_window + exercise.for + tree + +

+ Create your first Exercise For! +

+
+
+ + + +
diff --git a/gym_mgmt_system/views/gym_exercise_views.xml b/gym_mgmt_system/views/gym_exercise_views.xml new file mode 100644 index 000000000..e1b6f675e --- /dev/null +++ b/gym_mgmt_system/views/gym_exercise_views.xml @@ -0,0 +1,103 @@ + + + + + gym.exercise.view.form + gym.exercise + +
+ + + + + + + + + + + + + + + + + +
+ + + + +
+
+ +
+
+
+
+
+
+
+
+ Video Preview + +

+ Please enter a valid + Video URL. +

+
+ +
+
+
+
+
+
+
+
+
+ + + +
+
+
+
+ + + Gym Exercise + ir.actions.act_window + gym.exercise + tree,form,kanban + +

+ Create your first Exercise! +

+
+
+ + +
diff --git a/gym_mgmt_system/views/gym_membership_views.xml b/gym_mgmt_system/views/gym_membership_views.xml new file mode 100644 index 000000000..8d7438ea7 --- /dev/null +++ b/gym_mgmt_system/views/gym_membership_views.xml @@ -0,0 +1,80 @@ + + + + + gym.membership.view.form + gym.membership + +
+
+ +
+ +
+

+ +

+
+ + + + + + + + + + + +
+
+ + + +
+
+
+
+ + + gym.membership.view.tree + gym.membership + + + + + + + + + + + + + Gym Membership + ir.actions.act_window + gym.membership + tree,form,kanban + +

+ Create your first Membership! +

+
+
+ + +
diff --git a/gym_mgmt_system/views/gym_report_views.xml b/gym_mgmt_system/views/gym_report_views.xml new file mode 100644 index 000000000..cda44834e --- /dev/null +++ b/gym_mgmt_system/views/gym_report_views.xml @@ -0,0 +1,69 @@ + + + + + gym.report.form + gym.report + +
+ + + + + + + +
+ + + +
+
+
+
+ + + Gym Report + ir.actions.act_window + gym.report + tree,form,kanban + +

+ Create your first Report! +

+
+
+ + + Measurement History + ir.actions.act_window + measurement.history + pivot + +

+ Create your first Measurement History! +

+
+
+ + + measurement.history.report.pivot + measurement.history + + + + + + + + + + +
diff --git a/gym_mgmt_system/views/hr_employee_views.xml b/gym_mgmt_system/views/hr_employee_views.xml new file mode 100644 index 000000000..c4c12f8b6 --- /dev/null +++ b/gym_mgmt_system/views/hr_employee_views.xml @@ -0,0 +1,47 @@ + + + + + Trainers + ir.actions.act_window + hr.employee + kanban,tree,form + [('is_trainer','=','True')] + +

+ Create your first Trainer! +

+
+
+ + + hr.employee.view.form.inherited.gym.mgmt.system + + hr.employee + + + + + + + + + + + + +
diff --git a/gym_mgmt_system/views/measurement_history_views.xml b/gym_mgmt_system/views/measurement_history_views.xml new file mode 100644 index 000000000..9a784ce0a --- /dev/null +++ b/gym_mgmt_system/views/measurement_history_views.xml @@ -0,0 +1,123 @@ + + + + + measurement.history.view.form + measurement.history + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+
+
+ + + measurement.history.view.tree + measurement.history + + + + + + + + + + + + Measurement History + ir.actions.act_window + measurement.history + tree,form,kanban + +

+ Create your first Measurement History! +

+
+
+ + +
diff --git a/gym_mgmt_system/views/membership_plan_views.xml b/gym_mgmt_system/views/membership_plan_views.xml new file mode 100644 index 000000000..df02f7b32 --- /dev/null +++ b/gym_mgmt_system/views/membership_plan_views.xml @@ -0,0 +1,21 @@ + + + + + Membership Plan + ir.actions.act_window + product.template + + tree,form + +

+ Create your first Trainer! +

+
+
+ + +
diff --git a/gym_mgmt_system/views/my_workout_plan_views.xml b/gym_mgmt_system/views/my_workout_plan_views.xml new file mode 100644 index 000000000..5232ebaae --- /dev/null +++ b/gym_mgmt_system/views/my_workout_plan_views.xml @@ -0,0 +1,60 @@ + + + + + my.workout.plan.view.form + my.workout.plan + +
+ +
+

+ +

+
+ + + + +
+
+ + + +
+
+
+
+ + + my.workout.plan.view.tree + my.workout.plan + + + + + + + + + + + My Workout Plan + ir.actions.act_window + my.workout.plan + tree,form + [('assign_to_id', '=', uid)] + +

+ My Workout Plan! +

+
+
+ + +
diff --git a/gym_mgmt_system/views/product_template_views.xml b/gym_mgmt_system/views/product_template_views.xml new file mode 100644 index 000000000..f24155000 --- /dev/null +++ b/gym_mgmt_system/views/product_template_views.xml @@ -0,0 +1,45 @@ + + + + + Equipments + ir.actions.act_window + product.template + kanban,tree,form + [('is_gym_product','=','True')] + +

+ Create your first Equipment! +

+
+
+ + + product.template.view.form.inherit.gym.mgmt.system + + product.template + + + + + + + + + + + + + +
diff --git a/gym_mgmt_system/views/res_partner_views.xml b/gym_mgmt_system/views/res_partner_views.xml new file mode 100644 index 000000000..1eb0f141f --- /dev/null +++ b/gym_mgmt_system/views/res_partner_views.xml @@ -0,0 +1,73 @@ + + + + + Gym Member + ir.actions.act_window + res.partner + kanban,tree,form + [('is_gym_member','=','True')] + +

+ Create your first Member! +

+
+
+ + + res.partner.view.form.inherit.gym.mgmt.system + res.partner + + + + + + + + + + + + res.partner.view.kanban.inherit.gym.mgmt.system + + res.partner + + + +
+
    +
  • + Gym Member + +
  • +
    + Memberships : + +
    +
    + Measurements : + +
    +
  • + +
+
+
+
+
+ + + +
diff --git a/gym_mgmt_system/views/trainer_skill_views.xml b/gym_mgmt_system/views/trainer_skill_views.xml new file mode 100644 index 000000000..f2d627d65 --- /dev/null +++ b/gym_mgmt_system/views/trainer_skill_views.xml @@ -0,0 +1,27 @@ + + + + + trainer.skill.view.tree + trainer.skill + + + + + + + + + + + Trainer skill + ir.actions.act_window + trainer.skill + tree + +

+ Create your first Trainer skill! +

+
+
+
diff --git a/gym_mgmt_system/views/workout_days_views.xml b/gym_mgmt_system/views/workout_days_views.xml new file mode 100644 index 000000000..3baa9a6ad --- /dev/null +++ b/gym_mgmt_system/views/workout_days_views.xml @@ -0,0 +1,30 @@ + + + + workout.days.view.tree + workout.days + + + + + + + + + Workout Days + ir.actions.act_window + workout.days + tree + +

+ Create your first Workout Days! +

+
+
+ + +
diff --git a/gym_mgmt_system/views/workout_plan_views.xml b/gym_mgmt_system/views/workout_plan_views.xml new file mode 100644 index 000000000..448e44034 --- /dev/null +++ b/gym_mgmt_system/views/workout_plan_views.xml @@ -0,0 +1,82 @@ + + + + + workout.plan.view.tree + workout.plan + + + + + + + + + + workout.plan.view.form + workout.plan + +
+ +
+

+ +

+
+ + + + + +