diff --git a/gym_mgmt_system/README.rst b/gym_mgmt_system/README.rst new file mode 100644 index 000000000..c451ebe21 --- /dev/null +++ b/gym_mgmt_system/README.rst @@ -0,0 +1,17 @@ +Freight Management v15 +====================== +Gym Management + +Installation +============ + - www.odoo.com/documentation/15.0/setup/install.html + - Install our custom addon + +Configuration +============= + + No additional configurations needed + +Credits +======= + Developer: Shahul v15 @ cybrosys, Contact: odoo@cybrosys.com diff --git a/gym_mgmt_system/__init__.py b/gym_mgmt_system/__init__.py new file mode 100644 index 000000000..b21ac9918 --- /dev/null +++ b/gym_mgmt_system/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import wizard +from . import models diff --git a/gym_mgmt_system/__manifest__.py b/gym_mgmt_system/__manifest__.py new file mode 100644 index 000000000..2b76a24ab --- /dev/null +++ b/gym_mgmt_system/__manifest__.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +{ + 'name': 'GYM Management System', + 'summary': 'GYM Management System', + 'version': '15.0.1.0.0', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'description': "GYM Management System", + 'depends': [ + 'mail', 'contacts', 'hr', 'product', 'membership', 'sale', + ], + 'images': ['static/description/banner.png'], + 'data': [ + 'security/security.xml', + 'security/ir.model.access.csv', + 'data/data.xml', + 'wizard/assign_workout.xml', + 'views/equipments.xml', + 'views/members.xml', + 'views/report.xml', + 'views/exercise.xml', + 'views/exercise_for.xml', + 'views/trainer_skill.xml', + 'views/membership_plan.xml', + 'views/membership.xml', + 'views/measurement_history.xml', + 'views/workout_plan.xml', + 'views/trainers.xml', + ], + 'installable': True, + 'application': False, + 'auto_install': False, + 'license': 'LGPL-3', +} diff --git a/gym_mgmt_system/data/data.xml b/gym_mgmt_system/data/data.xml new file mode 100644 index 000000000..8a5624918 --- /dev/null +++ b/gym_mgmt_system/data/data.xml @@ -0,0 +1,12 @@ + + + + + Gym Membership sequence + gym.membership + MEMPLAN/ + 4 + + + + \ No newline at end of file diff --git a/gym_mgmt_system/doc/RELEASE_NOTES.md b/gym_mgmt_system/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..ed1e02700 --- /dev/null +++ b/gym_mgmt_system/doc/RELEASE_NOTES.md @@ -0,0 +1,5 @@ +## Module + +#### 16.08.2022 +#### Version 15.0.1.0.0 +#### ADD Initial Commit diff --git a/gym_mgmt_system/models/__init__.py b/gym_mgmt_system/models/__init__.py new file mode 100644 index 000000000..531cfafe9 --- /dev/null +++ b/gym_mgmt_system/models/__init__.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import members +from . import trainers +from . import report +from . import equipments +from . import exercise +from . import exercise_for +from . import trainer_skill +from . import membership +from . import measurement_history +from . import workout_plan diff --git a/gym_mgmt_system/models/equipments.py b/gym_mgmt_system/models/equipments.py new file mode 100644 index 000000000..133a3a900 --- /dev/null +++ b/gym_mgmt_system/models/equipments.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models + + +class GymEquipments(models.Model): + _inherit = 'product.template' + + gym_product = fields.Boolean(string='Gym Product') diff --git a/gym_mgmt_system/models/exercise.py b/gym_mgmt_system/models/exercise.py new file mode 100644 index 000000000..f64df3e59 --- /dev/null +++ b/gym_mgmt_system/models/exercise.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import api, fields, models, _ +from odoo.addons.website.tools import get_video_embed_code +from odoo.exceptions import ValidationError + + +class GymExercises(models.Model): + _name = "gym.exercise" + _inherit = ["mail.thread", "mail.activity.mixin", "image.mixin"] + _description = "Gym Exercises" + _rec_name = "name" + _columns = { + + 'image': fields.Binary("Image", help="This field holds the image"), + + } + + name = fields.Char(string="Name") + exercise_for_ids = fields.Many2many("exercise.for", string="Exercise For") + equipment_ids = fields.Many2one('product.product', string='Equipment', + required=True, tracking=True, + domain="[('gym_product', '!=',False)]") + note_benefit = fields.Html('Note') + note_step = fields.Html('Note') + embed_code = fields.Html(compute="_compute_embed_code", sanitize=False) + video_url = fields.Char('Video URL', + help='URL of a video for showcasing your product.') + image = fields.Binary("Image", help="This field holds the image") + image12 = fields.Binary("Image", help="This field holds the image") + image123 = fields.Binary("Image", help="This field holds the image") + image124 = fields.Binary("Image", help="This field holds the image") + + @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) + + @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)) diff --git a/gym_mgmt_system/models/exercise_for.py b/gym_mgmt_system/models/exercise_for.py new file mode 100644 index 000000000..8f206732b --- /dev/null +++ b/gym_mgmt_system/models/exercise_for.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models + + +class GymExerciseFor(models.Model): + _name = "exercise.for" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Gym Exercise For" + _rec_name = "name" + + name = fields.Char(string="Name") diff --git a/gym_mgmt_system/models/measurement_history.py b/gym_mgmt_system/models/measurement_history.py new file mode 100644 index 000000000..5e760b83e --- /dev/null +++ b/gym_mgmt_system/models/measurement_history.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import api, fields, models + + +class MeasurementHistory(models.Model): + _name = "measurement.history" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Measurement History" + + _rec_name = "member" + + 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 = fields.Many2one('res.partner', string='Member', tracking=True, + required=True, + domain="[('gym_member', '!=',False)]") + gender = fields.Selection([ + ('male', 'Male'), + ('female', 'Female'), + ('other', 'Other'), + ], string="Gender", required=True) + age = fields.Integer(string='Age', tracking=True, required=True) + weight = fields.Float( + 'Weight', digits='Stock Weight', store=True) + weight_uom_name = fields.Char(string='Weight unit of measure label', + default=_get_default_weight_uom) + height = fields.Float( + 'Height', digits='Stock Height', store=True) + height_uom_name = fields.Char(string='Weight unit of measure label', + default='cm') + bmi = fields.Float('BMI', store=True, compute='compute_display_name') + bmr = fields.Float('BMR', store=True, compute='compute_display_name') + neck = fields.Float('neck', store=True) + biceps = fields.Float('Biceps', store=True) + calf = fields.Float('Calf', store=True) + hips = fields.Float('Hips', store=True) + chest = fields.Float('Chest', store=True) + waist = fields.Float('Waist', store=True) + thighs = fields.Float('Thighs', store=True) + date = fields.Date(string='Date', + help='Date from which measurement active.') + + @api.depends('weight', 'height') + def compute_display_name(self): + """ based on weight and height ,calculate the bmi and bmr""" + 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) diff --git a/gym_mgmt_system/models/members.py b/gym_mgmt_system/models/members.py new file mode 100644 index 000000000..cc3076c52 --- /dev/null +++ b/gym_mgmt_system/models/members.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models, api + + +class GymMember(models.Model): + _name = "gym.member" + _inherit = ["mail.thread", 'mail.activity.mixin'] + _description = "Gym Member" + + +class MemberPartner(models.Model): + _inherit = 'res.partner' + + gym_member = fields.Boolean(string='Gym Member', default=True) + membership_count = fields.Integer('membership_count', + compute='_compute_membership_count') + measurement_count = fields.Integer('measurement_count', + compute='_compute_measurement_count') + + def _compute_membership_count(self): + """ number of membership for gym members """ + for rec in self: + rec.membership_count = rec.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 = rec.env['measurement.history'].search_count( + [('member.id', '=', rec.id)]) + + @api.onchange('gym_member') + def _onchange_gym_member(self): + """ select sale person to assign workout plan """ + if self.gym_member: + return { + 'warning': { + 'title': 'Warning!', + 'message': 'select sale person (sales & purchase) ' + 'to assign workout plan'} + } diff --git a/gym_mgmt_system/models/membership.py b/gym_mgmt_system/models/membership.py new file mode 100644 index 000000000..40bb2a63e --- /dev/null +++ b/gym_mgmt_system/models/membership.py @@ -0,0 +1,92 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import api, fields, models, _ + + +class GymMembership(models.Model): + _name = "gym.membership" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Gym Membership" + _rec_name = "reference" + + reference = fields.Char(string='GYM reference', required=True, + readonly=True, default=lambda self: _('New')) + member = fields.Many2one('res.partner', string='Member', required=True, + tracking=True, + domain="[('gym_member', '!=',False)]") + membership_scheme = fields.Many2one('product.product', + string='Membership scheme', + required=True, tracking=True, + domain="[('membership_date_from', '!=',False)]") + paid_amount = fields.Integer(string="Paid Amount", tracking=True) + membership_fees = fields.Float(string="Membership Fees", tracking=True, + related="membership_scheme.list_price") + sale_order_id = fields.Many2one('sale.order', string='Sales Order', + ondelete='cascade', copy=False, + readonly=True) + membership_date_from = fields.Date(string='Membership Start Date', + related="membership_scheme.membership_date_from", + help='Date from which membership becomes active.') + membership_date_to = fields.Date(string='Membership End Date', + related="membership_scheme.membership_date_to", + help='Date until which membership remains active.') + + _sql_constraints = [ + ('membership_date_greater', + 'check(membership_date_to >= membership_date_from)', + 'Error ! Ending Date cannot be set before Beginning Date.') + ] + state = fields.Selection([ + ('draft', 'Draft'), + ('confirm', 'Confirm'), + ('cancelled', 'Cancelled') + ], default='draft', string='Status') + + @api.model + def create(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 + + +class SaleConfirm(models.Model): + _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': self.partner_id.id, + 'membership_date_from': record.membership_date_from, + 'membership_scheme': self.order_line.product_id.id, + 'sale_order_id': self.id, + }]) + + res = super(SaleConfirm, self).action_confirm() + return res diff --git a/gym_mgmt_system/models/report.py b/gym_mgmt_system/models/report.py new file mode 100644 index 000000000..d2b7791cd --- /dev/null +++ b/gym_mgmt_system/models/report.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models + + +class GymReport(models.Model): + _name = "gym.report" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Gym Report" + + name = fields.Char(string="Name") diff --git a/gym_mgmt_system/models/trainer_skill.py b/gym_mgmt_system/models/trainer_skill.py new file mode 100644 index 000000000..dc24776e6 --- /dev/null +++ b/gym_mgmt_system/models/trainer_skill.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models + + +class TrainerSkill(models.Model): + _name = "trainer.skill" + _inherit = ["mail.thread", "mail.activity.mixin"] + _description = "Trainer Skill" + + name = fields.Char(string="Name") + code = fields.Char(string="Code") diff --git a/gym_mgmt_system/models/trainers.py b/gym_mgmt_system/models/trainers.py new file mode 100644 index 000000000..3b16ace3f --- /dev/null +++ b/gym_mgmt_system/models/trainers.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models + + +class TrainerEmployee(models.Model): + _inherit = 'hr.employee' + + trainer = fields.Boolean(string='Gym Trainer') + exercise_for_ids = fields.Many2many("trainer.skill", + string="Specialization") diff --git a/gym_mgmt_system/models/workout_plan.py b/gym_mgmt_system/models/workout_plan.py new file mode 100644 index 000000000..68adf2656 --- /dev/null +++ b/gym_mgmt_system/models/workout_plan.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Shahul Faiz () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import fields, models, _ + + +class WorkoutPlan(models.Model): + _name = "workout.plan" + _inherit = ["mail.thread", "mail.activity.mixin", "image.mixin"] + _description = "Workout Plan" + _rec_name = "name" + + name = fields.Char(string="Name") + workout_days_ids = fields.Many2many("workout.days", string="Workout Days") + workout_plan_option_ids = fields.One2many( + 'workout.plan.option', 'order_id', 'Optional Products Lines') + + def action_workout_plan(self): + """ wizard opened to create my workout plans """ + wizard_form = self.env.ref('gym_mgmt_system.view_workout_plan_wizard', + False) + print(wizard_form, "fffff") + view_id = self.env['workout.plan.wizard'] + vals = { + 'workout_plan': self.id, + } + new = view_id.create(vals) + return { + 'name': _('Assign Workout Plan'), + 'type': 'ir.actions.act_window', + 'res_model': 'workout.plan.wizard', + 'res_id': new.id, + 'view_id': wizard_form.id, + 'view_type': 'form', + 'view_mode': 'form', + 'target': 'new', + } + + +class WorkoutPlanOption(models.Model): + _name = "workout.plan.option" + _description = "Workout Option" + _order = 'id' + + order_id = fields.Many2one('workout.plan', 'Workout Plan Reference', + ondelete='cascade', index=True) + name = fields.Text('Description', required=True) + exercise_id = fields.Many2one('gym.exercise', 'Exercises', required=True) + equipment_ids = fields.Many2one('product.product', string='equipment', + required=True, tracking=True, + domain="[('gym_product', '!=',False)]") + sets = fields.Integer(string="Sets") + repeat = fields.Integer(string="Repeat") + + +class WorkoutDays(models.Model): + _name = "workout.days" + _description = "Workout Days" + _rec_name = "name" + + name = fields.Char('Workout days') + + +class MyWorkoutPlan(models.Model): + _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") + assign_to = fields.Many2one('res.partner', string='Assign To', + domain="[('gym_member', '!=',False)]") + from_date = fields.Date(string='Date From') + to_date = fields.Date(string='Date To') 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..4dad59a70 --- /dev/null +++ b/gym_mgmt_system/security/ir.model.access.csv @@ -0,0 +1,62 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink + +access_workout_plan_wizard,account.workout.plan.wizard,model_workout_plan_wizard,,1,1,1,1 + + +hr.access_hr_employee_trainer,hr.employee user,model_hr_employee,gym_mgmt_system.group_gym_trainer,1,1,1,0 +hr.access_hr_employee_member,hr.employee user,model_hr_employee,gym_mgmt_system.group_gym_member,1,0,0,0 +hr.access_hr_employee_operator,hr.employee user,model_hr_employee,gym_mgmt_system.group_gym_operator,1,1,1,1 + +access_res_partner_trainer,res.partner,model_res_partner,gym_mgmt_system.group_gym_trainer,1,0,0,0 +access_res_partner_operator,res.partner,model_res_partner,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_res_partner_member,res.partner,model_res_partner,gym_mgmt_system.group_gym_member,1,0,0,0 + +access_gym_membership_operator,account.gym.membership,model_gym_membership,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_gym_membership_trainer,account.gym.membership,model_gym_membership,gym_mgmt_system.group_gym_trainer,1,0,0,0 +access_gym_membership_member,account.gym.membership,model_gym_membership,gym_mgmt_system.group_gym_member,1,0,0,0 + +access_measurement_history_operator,account.measurement.history,model_measurement_history,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_measurement_history_trainer,account.measurement.history,model_measurement_history,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_measurement_history_member,account.measurement.history,model_measurement_history,gym_mgmt_system.group_gym_member,1,0,0,0 + +access_trainer_skill_operator,account.trainer_skill,model_trainer_skill,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_trainer_skill_member,account.trainer_skill,model_trainer_skill,gym_mgmt_system.group_gym_member,1,0,0,0 +access_trainer_skill_trainer,account.trainer_skill,model_trainer_skill,gym_mgmt_system.group_gym_trainer,1,1,1,1 + +access_product_template_trainer,account.product_template,model_product_template,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_product_template_member,account.product_template,model_product_template,gym_mgmt_system.group_gym_member,1,0,0,0 + + +access_workout_plan_operator,account.workout.plan,model_workout_plan,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_workout_plan_trainer,account.workout.plan,model_workout_plan,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_workout_plan_member,account.workout.plan,model_workout_plan,gym_mgmt_system.group_gym_member,1,0,0,0 +access_workout_plan_option_operator,account.workout.plan.option,model_workout_plan_option,,1,1,1,1 +access_workout_plan_option_trainer,account.workout.plan.option,model_workout_plan_option,,1,1,1,1 +access_workout_plan_option_member,account.workout.plan.option,model_workout_plan_option,gym_mgmt_system.group_gym_member,1,0,0,0 + +access_workout_days_operator,account.workout.days,model_workout_days,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_workout_days_trainer,account.workout.days,model_workout_days,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_workout_days_member,account.workout.days,model_workout_days,gym_mgmt_system.group_gym_member,1,0,0,0 + + + +access_gym_exercise_operator,account.gym.exercise,model_gym_exercise,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_gym_exercise_trainer,account.gym.exercise,model_gym_exercise,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_gym_exercise_member,account.gym.exercise,model_gym_exercise,gym_mgmt_system.group_gym_member,1,0,0,0 + +access_exercise_for_operator,account.exercise.for,model_exercise_for,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_exercise_for_trainer,account.exercise.for,model_exercise_for,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_exercise_for_member,account.exercise.for,model_exercise_for,gym_mgmt_system.group_gym_member,1,0,0,0 + + +access_my_workout_plan_operator,account.my.workout.plan,model_my_workout_plan,gym_mgmt_system.group_gym_operator,1,1,1,1 +access_my_workout_plan_trainer,account.my.workout.plan,model_my_workout_plan,gym_mgmt_system.group_gym_trainer,1,1,1,1 +access_my_workout_plan_member,account.my.workout.plan,model_my_workout_plan,gym_mgmt_system.group_gym_member,1,0,0,0 + +access_workout_plan_wizard_trainer,account.workout.plan.wizard,model_workout_plan_wizard,gym_mgmt_system.group_gym_trainer,1,0,0,0 + + + + + + diff --git a/gym_mgmt_system/security/security.xml b/gym_mgmt_system/security/security.xml new file mode 100644 index 000000000..c287bc6ef --- /dev/null +++ b/gym_mgmt_system/security/security.xml @@ -0,0 +1,78 @@ + + + + Gym Management + category for Gym Management + + + + Member + + + + + Trainer + + + + + + Operator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file 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/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/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/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/assign_workout_plan.png b/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan.png new file mode 100644 index 000000000..220e773c9 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan_2.png b/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan_2.png new file mode 100644 index 000000000..a439e40e7 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan_2.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan_3.png b/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan_3.png new file mode 100644 index 000000000..6dcf171c7 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/assign_workout_plan_3.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/equipments.png b/gym_mgmt_system/static/description/assets/screenshots/equipments.png new file mode 100644 index 000000000..b660d9e86 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/equipments.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/exercise.png b/gym_mgmt_system/static/description/assets/screenshots/exercise.png new file mode 100644 index 000000000..85343a5ce Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/exercise.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/exercise_for.png b/gym_mgmt_system/static/description/assets/screenshots/exercise_for.png new file mode 100644 index 000000000..222694177 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/exercise_for.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/exercise_form_benefits.png b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_benefits.png new file mode 100644 index 000000000..2b679a928 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_benefits.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/exercise_form_images.png b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_images.png new file mode 100644 index 000000000..be69f4891 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_images.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/exercise_form_steps.png b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_steps.png new file mode 100644 index 000000000..f756c3de9 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_steps.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/exercise_form_videos.png b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_videos.png new file mode 100644 index 000000000..497edd67e Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/exercise_form_videos.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..dce4db76b Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/hero.gif differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/inv_format1.png b/gym_mgmt_system/static/description/assets/screenshots/inv_format1.png new file mode 100644 index 000000000..84f41d13d Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/inv_format1.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/inv_format2.png b/gym_mgmt_system/static/description/assets/screenshots/inv_format2.png new file mode 100644 index 000000000..458cbcc0f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/inv_format2.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/inv_format3.png b/gym_mgmt_system/static/description/assets/screenshots/inv_format3.png new file mode 100644 index 000000000..299c60d8d Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/inv_format3.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/inv_format4.png b/gym_mgmt_system/static/description/assets/screenshots/inv_format4.png new file mode 100644 index 000000000..154e5a0af Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/inv_format4.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/inv_format5.png b/gym_mgmt_system/static/description/assets/screenshots/inv_format5.png new file mode 100644 index 000000000..d647eab5c Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/inv_format5.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/inv_format6.png b/gym_mgmt_system/static/description/assets/screenshots/inv_format6.png new file mode 100644 index 000000000..4846adb7c Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/inv_format6.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/inv_format7.png b/gym_mgmt_system/static/description/assets/screenshots/inv_format7.png new file mode 100644 index 000000000..99666dc81 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/inv_format7.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/measurement_history.png b/gym_mgmt_system/static/description/assets/screenshots/measurement_history.png new file mode 100644 index 000000000..2aa7db21f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/measurement_history.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/measurement_history_form.png b/gym_mgmt_system/static/description/assets/screenshots/measurement_history_form.png new file mode 100644 index 000000000..fb9311ff7 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/measurement_history_form.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/measurement_history_form_report.png b/gym_mgmt_system/static/description/assets/screenshots/measurement_history_form_report.png new file mode 100644 index 000000000..22be74cd1 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/measurement_history_form_report.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/member.png b/gym_mgmt_system/static/description/assets/screenshots/member.png new file mode 100644 index 000000000..55731e055 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/member.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/membership.png b/gym_mgmt_system/static/description/assets/screenshots/membership.png new file mode 100644 index 000000000..0c3c391b2 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/membership.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/membership_form.png b/gym_mgmt_system/static/description/assets/screenshots/membership_form.png new file mode 100644 index 000000000..9670eef3f Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/membership_form.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/membership_product.png b/gym_mgmt_system/static/description/assets/screenshots/membership_product.png new file mode 100644 index 000000000..2500589c0 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/membership_product.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/membership_product_form.png b/gym_mgmt_system/static/description/assets/screenshots/membership_product_form.png new file mode 100644 index 000000000..98acf2aa1 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/membership_product_form.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/membership_sale_order.png b/gym_mgmt_system/static/description/assets/screenshots/membership_sale_order.png new file mode 100644 index 000000000..07f30270e Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/membership_sale_order.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/membership_sale_order_form.png b/gym_mgmt_system/static/description/assets/screenshots/membership_sale_order_form.png new file mode 100644 index 000000000..4c7bdc268 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/membership_sale_order_form.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/my_workout_plan.png b/gym_mgmt_system/static/description/assets/screenshots/my_workout_plan.png new file mode 100644 index 000000000..b07e4c7a1 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/my_workout_plan.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/my_workout_plan_form.png b/gym_mgmt_system/static/description/assets/screenshots/my_workout_plan_form.png new file mode 100644 index 000000000..b0b43dcfd Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/my_workout_plan_form.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/trainer.png b/gym_mgmt_system/static/description/assets/screenshots/trainer.png new file mode 100644 index 000000000..322a9cd15 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/trainer.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/trainer_form.png b/gym_mgmt_system/static/description/assets/screenshots/trainer_form.png new file mode 100644 index 000000000..4a815dabb Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/trainer_form.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/trainer_form_specification.png b/gym_mgmt_system/static/description/assets/screenshots/trainer_form_specification.png new file mode 100644 index 000000000..8a18254e5 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/trainer_form_specification.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/trainer_skill.png b/gym_mgmt_system/static/description/assets/screenshots/trainer_skill.png new file mode 100644 index 000000000..ec5db0803 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/trainer_skill.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/workout_days.png b/gym_mgmt_system/static/description/assets/screenshots/workout_days.png new file mode 100644 index 000000000..af6134fbb Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/workout_days.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/workout_plan.png b/gym_mgmt_system/static/description/assets/screenshots/workout_plan.png new file mode 100644 index 000000000..91c175ad2 Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/workout_plan.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form.png b/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form.png new file mode 100644 index 000000000..df793918b Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form_2.png b/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form_2.png new file mode 100644 index 000000000..47cbad4ba Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form_2.png differ diff --git a/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form_3.png b/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form_3.png new file mode 100644 index 000000000..88ed6aeda Binary files /dev/null and b/gym_mgmt_system/static/description/assets/screenshots/workout_plan_form_3.png differ diff --git a/gym_mgmt_system/static/description/banner.png b/gym_mgmt_system/static/description/banner.png new file mode 100644 index 000000000..faeb85cd2 Binary files /dev/null and b/gym_mgmt_system/static/description/banner.png 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..750a2dac7 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..fc834dd76 --- /dev/null +++ b/gym_mgmt_system/static/description/index.html @@ -0,0 +1,706 @@ +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+
+
+
+ +
+
+
+

+ GYM Management System

+

+ GYM Management System For Managing Membership, Members, Workout Plans, etc. +

+ +
+
+ + + +
+
+

+ Overview +

+
+ +
+

+ In this software , provides fitness businesses the functionality needed to manage all aspects of their business and efficiently operate their studio.

+
+

+ +
+ + +
+
+

+ Features +

+
+ +
+
+ +
+
+

+ 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

+
+
+ + +
+ +
+
+

+ Screenshots +

+
+
+

+ Manage Members

+

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

+ +
+ +
+

+ Manage Membership Plan

+

+ User can create membership plans. +

+ + +
+ +
+

+ Create Membership

+ + +
+ + +
+

+ Create Membership from sale Order

+ + +
+ + +
+

+ Measurement History +

+

+ - Automatically create BMI and BMR of member +

+ + +
+ + +
+

+ Manage Trainers

+

+ - Create specialization for trainer + +

+ - Create Trainer Skills + +

+ + + + +
+ +
+

+ Workout Plan

+

+ - Create Workout Plans + +

+ - Assign Workout Plans + +

+

+ - Create Workout Days +

+ + + + + + + + +
+
+

+ Gym Measurement Report

+ +
+
+

+ Gym Equipments

+ +
+
+

+ Gym Exercises

+

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

+

+ - Create exercise for parts of body +

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

Suggested Products

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

Our Services

+
+
+ +
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ 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

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

Need Help?

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

+ Create your first Equipment! +

+
+
+ + + product.template.inherited + product.template + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/gym_mgmt_system/views/exercise.xml b/gym_mgmt_system/views/exercise.xml new file mode 100644 index 000000000..d4328ef02 --- /dev/null +++ b/gym_mgmt_system/views/exercise.xml @@ -0,0 +1,93 @@ + + + + gym.exercise.form + gym.exercise + +
+ + + + + + + + + + + + + + + + + +
+ + + + +
+
+ + +
+
+
+
+
+
+
+
+ Video Preview + +

+ Please enter a valid Video URL. +

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

+ Create your first Exercise! +

+
+
+ + + +
diff --git a/gym_mgmt_system/views/exercise_for.xml b/gym_mgmt_system/views/exercise_for.xml new file mode 100644 index 000000000..d8bb6d136 --- /dev/null +++ b/gym_mgmt_system/views/exercise_for.xml @@ -0,0 +1,31 @@ + + + + exercise.for.tree + exercise.for + + + + + + + + + Exercise For (Tags) + ir.actions.act_window + exercise.for + tree + +

+ Create your first Exercise For! +

+
+
+ + + +
diff --git a/gym_mgmt_system/views/measurement_history.xml b/gym_mgmt_system/views/measurement_history.xml new file mode 100644 index 000000000..b9f3aeff0 --- /dev/null +++ b/gym_mgmt_system/views/measurement_history.xml @@ -0,0 +1,122 @@ + + + + measurement.history.form + measurement.history + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+
+
+ + + measurement.history.tree + measurement.history + + + + + + + + + + + + + Measurement History + ir.actions.act_window + measurement.history + tree,form,kanban + +

+ Create your first Measurement History! +

+
+
+ + +
\ No newline at end of file diff --git a/gym_mgmt_system/views/members.xml b/gym_mgmt_system/views/members.xml new file mode 100644 index 000000000..7550a29d4 --- /dev/null +++ b/gym_mgmt_system/views/members.xml @@ -0,0 +1,69 @@ + + + + Members + ir.actions.act_window + res.partner + kanban,tree,form + [('gym_member','=','True')] + +

+ Create your first Member! +

+
+
+ + + res.partner.inheriteds + res.partner + + + + + + + + + + + + + res.partner.kanban.inheritzz + res.partner + + + + +
+
    +
  • + Gym Member + +
  • +
    Memberships : + +
    +
    Measurements : + +
    +
  • + +
+
+
+
+
+ + + + +
diff --git a/gym_mgmt_system/views/membership.xml b/gym_mgmt_system/views/membership.xml new file mode 100644 index 000000000..6871f7722 --- /dev/null +++ b/gym_mgmt_system/views/membership.xml @@ -0,0 +1,77 @@ + + + + gym.membership.form + gym.membership + +
+
+ +
+ +
+

+ +

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

+ Create your first Membership! +

+
+
+ + +
\ No newline at end of file diff --git a/gym_mgmt_system/views/membership_plan.xml b/gym_mgmt_system/views/membership_plan.xml new file mode 100644 index 000000000..507d93aab --- /dev/null +++ b/gym_mgmt_system/views/membership_plan.xml @@ -0,0 +1,20 @@ + + + + Membership Plan + ir.actions.act_window + product.template + + + tree,form + +

+ Create your first Trainer! +

+
+
+ + + +
diff --git a/gym_mgmt_system/views/report.xml b/gym_mgmt_system/views/report.xml new file mode 100644 index 000000000..aaae3bcd6 --- /dev/null +++ b/gym_mgmt_system/views/report.xml @@ -0,0 +1,72 @@ + + + + gym.report.form + gym.report + +
+ + + + + + + +
+ + + +
+
+
+
+ + + + 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/trainer_skill.xml b/gym_mgmt_system/views/trainer_skill.xml new file mode 100644 index 000000000..82b1e3d7b --- /dev/null +++ b/gym_mgmt_system/views/trainer_skill.xml @@ -0,0 +1,30 @@ + + + + trainer.skill.tree + trainer.skill + + + + + + + + + Trainer skill (Tags) + ir.actions.act_window + trainer.skill + tree + +

+ Create your first Trainer skill! +

+
+
+ + + + + + +
diff --git a/gym_mgmt_system/views/trainers.xml b/gym_mgmt_system/views/trainers.xml new file mode 100644 index 000000000..752da2c12 --- /dev/null +++ b/gym_mgmt_system/views/trainers.xml @@ -0,0 +1,46 @@ + + + + Trainers + ir.actions.act_window + hr.employee + kanban,tree,form + [('trainer','=','True')] + +

+ Create your first Trainer! +

+
+
+ + + hr.employee.inherited + hr.employee + + + + + + + + + + + + + +
diff --git a/gym_mgmt_system/views/workout_plan.xml b/gym_mgmt_system/views/workout_plan.xml new file mode 100644 index 000000000..356907cce --- /dev/null +++ b/gym_mgmt_system/views/workout_plan.xml @@ -0,0 +1,153 @@ + + + + workout.plan.tree + workout.plan + + + + + + + + + + workout.plan.form + workout.plan + +
+ +
+

+ +

+
+ + + + + +