diff --git a/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.js b/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.js index 96af8a3..2bd7c15 100644 --- a/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.js +++ b/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.js @@ -1,15 +1,59 @@ frappe.ui.form.on('Gym Member Name', { validate: function (frm) { - if (frm.doc.last_name === null) { - frm.set_value("full_name", frm.doc.first_name) - } - else { + if (frm.doc.last_name === undefined || frm.doc.last_name === null) { + frm.set_value("full_name", frm.doc.first_name); + } else { frm.set_value("full_name", frm.doc.first_name + " " + frm.doc.last_name); } }, - after_save:function(frm){ - frappe.new_doc('Gym Membership UI') + refresh: function (frm) { + if (!frm.__islocal) { + frm.add_custom_button(__('Assign Class'), function () { + let d = new frappe.ui.Dialog({ + title: 'Assign Class', + fields: [ + { + label: 'Link to Assign Class', + fieldname: 'assign_class', + fieldtype: 'Link', + options: 'Group Class' + }, + ], + size: 'small', + primary_action_label: 'Submit', + primary_action(values) { + fetch_data(frm); + d.hide(); + } + }); + + d.show(); + }); + } } }); + +function fetch_data(frm) { + frappe.call({ + method: 'gym_management_system.gym_management_system.doctype.gym_member_name.gym_member_name.fetch_and_set_data', + + args: { + self: frm.doc.name + }, + + callback: function (response) { + if (response.message && response.message.length > 0) { + console.log(response.message[0]); + var data = response.message[0]; + var start_time = data.start_time; + var end_time = data.end_time; + var class_type = data.class_type; + frappe.msgprint(`Dear Member ${frm.doc.full_name}, Your class type is ${class_type}. It will start on ${start_time} and end on ${end_time}`); + } else { + console.error("Response message is empty or not in the expected format."); + } + } + }); +} \ No newline at end of file diff --git a/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.py b/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.py index b33c2d6..d11f15f 100644 --- a/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.py +++ b/gym_management_system/gym_management_system/doctype/gym_member_name/gym_member_name.py @@ -3,28 +3,43 @@ import frappe from frappe.model.document import Document - class GymMemberName(Document): - # @frappe.whitelist() - # def set_details(self): - def on_submit(doc,method=None): - gym_trainer=frappe.new_doc("Gym Trainer") - gym_trainer.append("member_details", - { - "member_name":doc.name, - "member_full_name":doc.full_name, - "member_email":doc.email_address, - "member_phone":doc.contact - }) + + + + def on_submit(doc, method=None): + gym_trainer = frappe.new_doc("Gym Trainer") + gym_trainer.append("member_details", { + "member_name": doc.name, + "member_full_name": doc.full_name, + "member_email": doc.email_address, + "member_phone": doc.contact + }) gym_trainer.save() - # a=frappe.get_doc("Gym Member Name",doc.name) - # print(gym_trainer.name) - # a.gym_trainer=gym_trainer.name - # print(a,"========") - # a.save() - - + + send_email_confirmation(doc) + +def send_email_confirmation(member_doc): + recipients = [member_doc.email_address] + + message = """Dear {member_name},We received your details. Now you are Member of Our Gym.""" + + frappe.sendmail( + recipients=recipients, + subject=frappe._('Confirmation Message'), + message=message.format(member_name=member_doc.full_name), + ) +@frappe.whitelist() +def fetch_and_set_data(): + source_data = frappe.get_list('Group Class', + fields=[ 'member_trainer', + 'class_type', + 'start_time', + 'end_time']) + return source_data + + @@ -33,10 +48,28 @@ def on_submit(doc,method=None): +'''def on_update(doc, method): + # Fetch data from the gym_member_name record + member_name = doc.name + age = doc.age + email = doc.email + contact = doc.contact + # Update gym_trainer child table records + update_gym_trainer(member_name, age, email, contact) +def update_gym_trainer(member_name, age, email, contact): + # Fetch gym_trainer records related to the gym_member_name + trainers = frappe.get_all('Gym Trainer', filters={'member_name': member_name}, fields=['name']) - + for trainer in trainers: + trainer_doc = frappe.get_doc('Gym Trainer', trainer.name) + # Update the child table records + for child in trainer_doc.get('member_details'): + if child.member_name == member_name: + child.age = age + child.email = email + child.contact = contact - - + # Save the changes to the trainer document + trainer_doc.save()''' \ No newline at end of file diff --git a/gym_management_system/gym_management_system/doctype/locker_details/__init__.py b/gym_management_system/gym_management_system/doctype/locker_details/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gym_management_system/public/css/gym_member_name.css b/gym_management_system/public/css/gym_member_name.css new file mode 100644 index 0000000..1ba87c6 --- /dev/null +++ b/gym_management_system/public/css/gym_member_name.css @@ -0,0 +1,4 @@ +body{ + background-color: aqua; + text-decoration: underline; +} \ No newline at end of file diff --git a/gym_management_system/public/js/gym_managment_system.js b/gym_management_system/public/js/gym_managment_system.js new file mode 100644 index 0000000..e69de29