Skip to content

Commit

Permalink
fix: batch enrolled filter logic
Browse files Browse the repository at this point in the history
  • Loading branch information
pateljannat committed Jan 16, 2025
1 parent 27ae014 commit 23d465d
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 16 deletions.
4 changes: 3 additions & 1 deletion frontend/src/pages/Batches.vue
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ const updateTabFilter = () => {
}
if (currentTab.value == 'Enrolled' && user.data?.is_student) {
filters.value['enrolled'] = 1
delete filters.value['start_date']
delete filters.value['published']
orderBy.value = 'start_date desc'
} else if (user.data?.is_student) {
delete filters.value['enrolled']
Expand All @@ -209,7 +211,7 @@ const updateTabFilter = () => {
}
const updateStudentFilter = () => {
if (!user.data || user.data?.is_student) {
if (!user.data || (user.data?.is_student && currentTab.value != 'Enrolled')) {
filters.value['start_date'] = ['>=', dayjs().format('YYYY-MM-DD')]
filters.value['published'] = 1
}
Expand Down
37 changes: 22 additions & 15 deletions lms/lms/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -1861,8 +1861,6 @@ def get_batches(filters=None, start=0, page_length=20, order_by="start_date"):
)
filters.update({"name": ["in", enrolled_batches]})
del filters["enrolled"]
del filters["published"]
del filters["start_date"]

batches = frappe.get_all(
"LMS Batch",
Expand All @@ -1889,6 +1887,12 @@ def get_batches(filters=None, start=0, page_length=20, order_by="start_date"):
page_length=page_length,
)

batches = filter_batches_based_on_start_time(batches, filters)
batches = get_batch_card_details(batches)
return batches


def filter_batches_based_on_start_time(batches, filters):
batchType = get_batch_type(filters)
if batchType == "upcoming":
batches_to_remove = list(
Expand All @@ -1908,7 +1912,23 @@ def get_batches(filters=None, start=0, page_length=20, order_by="start_date"):
)
)
batches = [batch for batch in batches if batch not in batches_to_remove]
return batches


def get_batch_type(filters):
start_date_filter = filters.get("start_date")
batchType = None
if start_date_filter:
sign = start_date_filter[0]
if ">" in sign:
batchType = "upcoming"
elif "<" in sign:
batchType = "archived"

return batchType


def get_batch_card_details(batches):
for batch in batches:
batch.instructors = get_instructors(batch.name)
students_count = frappe.db.count("Batch Student", {"parent": batch.name})
Expand All @@ -1923,16 +1943,3 @@ def get_batches(filters=None, start=0, page_length=20, order_by="start_date"):
batch.price = fmt_money(batch.amount, 0, batch.currency)

return batches


def get_batch_type(filters):
start_date_filter = filters.get("start_date")
batchType = None
if start_date_filter:
sign = start_date_filter[0]
if ">" in sign:
batchType = "upcoming"
elif "<" in sign:
batchType = "archived"

return batchType

0 comments on commit 23d465d

Please sign in to comment.