feat: seat count from class dialog

This commit is contained in:
Jannat Patel
2023-05-03 22:47:39 +05:30
parent e10feb3c36
commit b47ff80e9d
3 changed files with 21 additions and 3 deletions

View File

@@ -39,7 +39,7 @@ class LMSClass(Document):
frappe.get_doc(filters).save() frappe.get_doc(filters).save()
def validate_seats_left(self): def validate_seats_left(self):
if self.seat_count < len(self.students): if cint(self.seat_count) < len(self.students):
frappe.throw(_("There are no seats available in this class.")) frappe.throw(_("There are no seats available in this class."))
@@ -166,7 +166,9 @@ def authenticate():
@frappe.whitelist() @frappe.whitelist()
def create_class(title, start_date, end_date, description=None, name=None): def create_class(
title, start_date, end_date, description=None, seat_count=0, name=None
):
if name: if name:
class_details = frappe.get_doc("LMS Class", name) class_details = frappe.get_doc("LMS Class", name)
else: else:
@@ -178,6 +180,7 @@ def create_class(title, start_date, end_date, description=None, name=None):
"start_date": start_date, "start_date": start_date,
"end_date": end_date, "end_date": end_date,
"description": description, "description": description,
"seat_count": seat_count,
} }
) )
class_details.save() class_details.save()

View File

@@ -415,6 +415,12 @@ const open_class_dialog = (e) => {
reqd: 1, reqd: 1,
default: class_info && class_info.end_date, default: class_info && class_info.end_date,
}, },
{
fieldtype: "Int",
label: __("Seat Count"),
fieldname: "seat_count",
default: class_info && class_info.seat_count,
},
{ {
fieldtype: "Small Text", fieldtype: "Small Text",
label: __("Description"), label: __("Description"),
@@ -438,6 +444,7 @@ const create_class = (values) => {
start_date: values.start_date, start_date: values.start_date,
end_date: values.end_date, end_date: values.end_date,
description: values.description, description: values.description,
seat_count: values.seat_count,
name: class_info && class_info.name, name: class_info && class_info.name,
}, },
callback: (r) => { callback: (r) => {

View File

@@ -13,7 +13,15 @@ def get_context(context):
context.class_info = frappe.db.get_value( context.class_info = frappe.db.get_value(
"LMS Class", "LMS Class",
class_name, class_name,
["name", "title", "start_date", "end_date", "description", "custom_component"], [
"name",
"title",
"start_date",
"end_date",
"description",
"custom_component",
"seat_count",
],
as_dict=True, as_dict=True,
) )