Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,76 +1,5 @@
// File: gym_management_system/gym_management_system/doctype/group_class/public/js/group_class.js
frappe.ui.form.on('Group Class', {
after_save: function(frm) {
frappe.msgprint("Assigned Class to Trainer");
promptAndSendEmail(frm);
},
after_insert: function(frm) {
notifyTrainer(frm);
},
on_submit: function(frm) {
frappe.msgprint("Mail sent to trainer & member");
},
//
});

function notifyTrainer(frm) {
frappe.call({
method: 'gym_management_system.gym_management_system.doctype.group_class.group_class.send_notification_to_trainer',
args: {
docname: frm.doc.name
},
callback: function(r) {
if (r.message) {
frm.msgprint("Notification sent to Trainer!");
}
}
});
}

function promptAndSendEmail(frm) {
frappe.prompt([
{
fieldtype: 'Data',
label: 'Email Address',
fieldname: 'email',
reqd: true
}
], function(values) {
// Send email and show progress message
console.log("check error !")
console.log(frm,values);
// console.log(email);
sendEmailToGymMember(frm, values.email); // Corrected variable name
}, 'Enter Gym Member Email', 'Submit');
}

function sendEmailToGymMember(frm, gymMemberEmail) {
console.log(frm,values.email)
showProgressIndicator(frm, 'Sending email to Gym Member...');
frappe.call({
method: 'gym_management_system.gym_management_system.doctype.group_class.group_class.send_email_to_gym_member',
args: {
docname: frm.doc.name,
email: gymMemberEmail
},
callback: function(r) {
frm.dashboard.hide_progress();
if (r.message) {
frm.msgprint('Mail sent to Gym Member!');
}
}
});
}

function showProgressIndicator(frm, message) {
frm.dashboard.show_progress(__('Sending Email'), 0.5);
frappe.call({
method: 'gym_management_system.gym_management_system.doctype.group_class.group_class.send_email_to_gym_member',
args: {
// Add any additional arguments as needed
},
callback: function(r) {
frm.dashboard.hide_progress();
frm.msgprint(message);
}
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@
"start_time",
"end_time",
"amended_from",
"full_name"
"members",
"gym_traainer",
"gym_member_nameeee",
"typeeee",
"emailllll"
],
"fields": [
{
Expand Down Expand Up @@ -56,16 +60,38 @@
"reqd": 1
},
{
"fieldname": "full_name",
"fieldname": "members",
"fieldtype": "Table",
"label": "Gym Member Name",
"options": "Gym Member Name"
"label": "Members",
"options": "Trainer Member List"
},
{
"fieldname": "gym_traainer",
"fieldtype": "Link",
"label": "Gym traainer",
"options": "Gym Trainer"
},
{
"fetch_from": "member_trainer.first_name",
"fieldname": "gym_member_nameeee",
"fieldtype": "Data",
"label": "Gym Member Nameeee"
},
{
"fieldname": "typeeee",
"fieldtype": "Data",
"label": "TYpeeee"
},
{
"fieldname": "emailllll",
"fieldtype": "Data",
"label": "Emailllll"
}
],
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
"modified": "2024-01-07 11:09:40.074927",
"modified": "2024-01-10 16:16:26.510456",
"modified_by": "Administrator",
"module": "Gym Management System",
"name": "Group Class",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,58 +1,48 @@
# .py file Group class :-
# File: gym_management_system/gym_management_system/doctype/group_class/group_class.py
from frappe.model.document import Document
import frappe

class GroupClass(Document):
pass

@frappe.whitelist()
def send_notification_to_trainer(docname):
try:
group_class = frappe.get_doc("Group Class", docname)
print(docname)
trainer_email = frappe.get_value("Gym Trainer", group_class.member_trainer, "email")
print(trainer_email)

if trainer_email:
subject = f"Group Class '{group_class.name}' Details"
message = f"Hello Trainer {group_class.member_trainer}!\n\nGroup Class '{group_class.name}' details:\nClass Type: {group_class.class_type}\nStart Time: {group_class.start_time}\nEnd Time: {group_class.end_time}"

frappe.sendmail(
recipients=[trainer_email],
subject=subject,
message=message
)

frappe.msgprint("Notification sent to Trainer!")
return True
else:
frappe.msgprint("Warning: Trainer email not found. Notification not sent.")
return False
except Exception as e:
frappe.msgprint(f"Error: {str(e)}")
return False

@frappe.whitelist()
def send_email_to_gym_member(docname, email):
try:
group_class = frappe.get_doc("Group Class", docname)
member_email = frappe.get_value("Gym Member", {"name": group_class.gym_member_name}, "email")

if member_email:
subject = f"Group Class '{group_class.name}' Details"
message = f"Hello Gym Member {group_class.gym_member_name}!\n\nGroup Class '{group_class.name}' details:\nClass Type: {group_class.class_type}\nStart Time: {group_class.start_time}\nEnd Time: {group_class.end_time}"

frappe.sendmail(
recipients=[member_email],
subject=subject,
message=message
)

frappe.msgprint("Notification sent to Gym Member!")
return True
else:
frappe.msgprint("Warning: Gym Member email not found. Notification not sent.")
return False
except Exception as e:
frappe.msgprint(f"Error: {str(e)}")
return False
def before_submit(self):
print("before submit work")
try:
# group_class = frappe.get_doc("Group Class", self.name)
trainer = self.member_trainer
trainer_email = frappe.get_value("Gym Trainer", trainer, "email")
subject = "Group Class Details"
message = "Hello Trainer"
if trainer_email:
frappe.sendmail(
recipients=[trainer_email],
subject=subject,
message=message
)

except Exception as e:
frappe.msgprint(f"Error: {str(e)}")
return {'success': False}
# tnvn mpvq vdow umiu


# def send_email_to_gym_members(group_class):
# try:
# # Get Gym Members from the child table
# gym_members = frappe.get_all("Class Assign Member", filters={"parent": group_class.name}, pluck="gym_member")
# for gym_member in gym_members:
# # Get Gym Member's email
# member_email = frappe.get_value("Gym Member", {"name": gym_member}, "email_address")
# if member_email:
# # Send email to Gym Member
# subject = f"Group Class '{group_class.name}' Details"
# message = f"Hello Gym Member {gym_member}!\n\nGroup Class '{group_class.name}' details:\nClass Type: {group_class.class_type}\nStart Time: {group_class.start_time}\nEnd Time: {group_class.end_time}"
# frappe.sendmail(
# recipients=[member_email],
# subject=subject,
# message=message
# )
# frappe.msgprint("Mail sent to Gym Members!")
# return {'success': True}
# except Exception as e:
# frappe.msgprint(f"Error sending email to Gym Members: {str(e)}")
# return {'success': False}
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,28 @@
{
"fieldname": "start_date",
"fieldtype": "Date",
"label": "Start Date"
"label": "Start Date",
"read_only": 1
},
{
"fieldname": "end_date",
"fieldtype": "Date",
"label": "End Date"
"label": "End Date",
"read_only": 1
},
{
"fieldname": "gym_member",
"fieldtype": "Link",
"label": "Gym Member",
"options": "Gym Member Name"
"options": "Gym Member Name",
"read_only": 1
},
{
"fieldname": "status",
"fieldtype": "Select",
"label": "Status",
"options": "Available\nOccupied"
"options": "Available\nOccupied",
"read_only": 1
},
{
"fieldname": "locker_type",
Expand All @@ -60,7 +64,7 @@
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-01-06 23:41:33.956336",
"modified": "2024-01-08 18:13:06.933272",
"modified_by": "Administrator",
"module": "Gym Management System",
"name": "Gym Locker",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,79 @@
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 {
frm.set_value("full_name", frm.doc.first_name + " " + frm.doc.last_name);
}
},

after_save:function(frm){
frappe.new_doc('Gym Membership UI')


validate: function (frm)
{
if (frm.doc.middle_name == null)
{
frm.set_value("full_name",frm.doc.first_name+" "+frm.doc.last_name)
}
else if (frm.doc.last_name == null)
{
frm.set_value("full_name",frm.doc.first_name+" "+frm.doc.middle_name)
}
else if (frm.doc.middle_name == null && 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.middle_name+" "+frm.doc.last_name)
}

},
/*before_save: function (frm) {

frm.call({

method: "send_email_notification",

callback: function (r) {
if (r.message) {
frappe.msgprint(r.message);
}
}
})

},


before_save: function (frm)
{
frm.call({

method: "execute",

callback: function (r) {
if (r.message) {
frappe.msgprint(r.message);
}
}
})
}
*/




/*before_save: function (frm) {
frm.add_custom_button('Click me Button', function() {
var doc_name = frm.doc.name;
console.log(doc_name);
frappe.call({
method: 'gym_management_system.gym_management_system.doctype.gym_trainer.gym_trainer.Set_Memeber_list',
args: {
abc: doc_name,
},
callback: function(response) {
frappe.msgprint(response.message);
}
});
});
}*/

after_save: function(frm) {
frappe.new_doc('Gym Membership UI');
}


});

Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,24 @@ def on_submit(doc,method=None):
"member_phone":doc.contact
})
gym_trainer.save()


def before_save(doc):
try:
member_mail = doc.email_address
subject = "Welcome to Gtm Management System"
message = f"You are registered at Gym Management System with registration ID:{doc.name}"
if member_mail:
frappe.sendmail(
recipients=[member_mail],
subject=subject,
message=message
)
frappe.msgprint("Registration mail sent to Member")
except Exception as e:
frappe.msgprint(f"Error: {str(e)}")
return {'success': False}

# a=frappe.get_doc("Gym Member Name",doc.name)
# print(gym_trainer.name)
# a.gym_trainer=gym_trainer.name
Expand Down
Loading