Commit Graph
55 Commits
Author SHA1 Message Date
kavehhn 7cb2b957a7 feat(payments): automatically notify admin and show existing invoice details when selecting student 2026-08-23 16:55:56 +03:30
kavehhn 966b066358 fix(styles): add RTL overrides for InputGroup and InputGroupAddon 2026-08-23 16:41:57 +03:30
kavehhn de87412bb1 fix(dashboard): fix date conversion offset, calendar arrow directions, payment duplicate warning, attendance class filter, and session auto-generation 2026-08-23 14:15:26 +03:30
kavehhn 497b065b5c fix(payments): make duplicate check fully reactive via deep watch and enhance dark-mode warning visibility 2026-08-23 13:35:41 +03:30
kavehhn f7089d5ca7 feat(payments): add bulk payment modal and duplicate payment warning in dialogs 2026-08-23 13:28:11 +03:30
kavehhn 60b21fd94a feat(payments): auto-populate payment due date with middle session date upon class selection 2026-08-22 00:15:03 +03:30
kavehhn 2d124eb0eb fix(dashboard): fix class edit page hang and move session notify action to class edit page
The class edit page hung/looped because ClassSessionsSection.vue still
referenced a removed todayJalali() helper in the template, which threw a
render error on every reactive update. Switch both usages to the
getTodayJalali() composable function.

Also remove the duplicate "اطلاع‌رسانی برگزاری جلسه" notify button/dialog
from SessionListView.vue since the same action already exists per-session
inside the class edit page.
2026-08-21 23:43:55 +03:30
kavehhn 0201e81571 fix(dashboard): resolve loop and datepicker issues in class and session edit forms 2026-08-21 23:26:34 +03:30
kavehhn 78c6fe4529 fix: jalali date defaults, calendar arrow direction, payment status label, edit page load, and session holding notification 2026-08-21 20:17:37 +03:30
kavehhn 8cd6e38c59 fix(dates): enforce standard Iranian calendar dates for default values and monthly range 2026-08-21 15:25:11 +03:30
kavehhn ee9750e6f2 fix(ui): payment due date calculation, datepicker colors, scrollable tabs, optional receipt, default today date 2026-08-21 15:17:48 +03:30
kavehhn 86f1f9bab0 fix: resolve course/class fields, surname i18n, optional nationalId, auto class end date, login styling, and mobile sidebar navigation 2026-08-21 15:03:28 +03:30
kavehhn b1c3dd6218 fix: make delete class button directly visible in class list and detail views 2026-08-21 13:35:33 +03:30
kavehhn 73ce53bcc2 feat: add delete class action and confirm dialog in class list and detail views 2026-08-21 13:20:33 +03:30
kavehhn f9a3f555eb feat: add cardNumber and IBAN fields to user and professor forms and import UI 2026-08-21 12:56:23 +03:30
kavehhn 26762e4dac Add professor share & financial reports UI, expense management page
Adds payout configuration fields (percentage/hourly + per-session
expense allowance) with a live payout preview to the class form,
a new Financial Reports page (per-class and date-range/monthly tabs,
per-session drill-down dialog) with reusable stat cards, and an
Institutional Expenses management page. Registers routes, sidebar
navigation, and permission constants for the new financial_reports
and expenses permissions.
2026-08-21 12:19:18 +03:30
kavehhn ee3bc2b856 Add switch button on SMS template cards to enable or disable individual SMS types 2026-08-21 11:04:32 +03:30
kavehhn 0aed0d7eae Add sessionHolding template configuration and update session slot definitions 2026-08-21 10:45:04 +03:30
kavehhn 1664a05ca4 Add admin UI to cancel payment transactions.
Show cancelled rows in history with distinct styling and let admins
confirm cancellation so replacement transactions can be added later.
2026-08-16 22:38:00 +03:30
kavehhn 047344e2ed Refetch payment after transaction edit to show updated amount.
Coerce edited amount to a number and reload invoice data after save.
2026-08-16 22:36:12 +03:30
kavehhn 133fb124b7 Fix payment transaction edit save and Jalali due date display.
Convert dates between Jalali picker values and ISO before API calls, and
format due dates with proper Persian calendar tokens and digits.
2026-08-16 14:53:46 +03:30
kavehhn 26c53d57e4 Require explicit attendance status selection before submit.
Do not prefill present for unsaved students, highlight pending rows, and show recorded counts on the attendance list.
2026-08-16 09:22:41 +03:30
kavehhn 8d29a5d858 Add numberOfSessions to class form and fix attendance navigation.
Editable session count on the class edit page and corrected redirects back to the attendance list route.
2026-08-16 08:55:04 +03:30
kavehhn e87d78c295 feat: add admin UI for reviewing pending student registrations.
Let staff list, inspect, approve, or reject enrollment and class-request submissions before final enrollment.
2026-08-16 08:42:26 +03:30
kavehhn e977ccd356 fix: show only past-due sessions needing attendance on attendance page
Use attendanceScope filtering, correct pending status for held sessions, and return to the attendance hub after saving.
2026-08-16 08:22:18 +03:30
kavehhn 2aa99119e2 feat: improve filters and class pricing controls in dashboard
Add session class filter, distinct partial payment tag, richer notifications list, class discount/frontend toggles, and remove unused course discount column.
2026-08-16 08:11:42 +03:30
kavehhn 9496587128 feat: add admin transaction edit UI on payment detail page
Wire create and update flows to admin transaction endpoints with status, amount, and date fields.
2026-08-16 08:01:37 +03:30
kavehhn 45a1c94774 feat: show transaction due dates on invoices
Surface paid vs pending installments and imported transaction counts after moving transactions off the payment document.
2026-08-16 07:32:27 +03:30
kavehhn ba509734ae Add attendance hub, categorized sidebar, and UI preferences page.
Improve dashboard and navigation access to attendance, group the right-side menu by category, and let each account save default theme and font size.
2026-08-16 07:28:58 +03:30
kavehhn 9c4182ea5a feat: show session and payment stats after JSON data import
Update the settings import copy and result counts to match the expanded import payload.
2026-08-16 07:04:59 +03:30
kavehhn 74c26a8e48 fix: show payable amount after discount on payment views
Hide the payable row when there is no discount, clamp create-form discounts, and cap notes length.
2026-08-16 07:04:16 +03:30
kavehhn 92eb394466 feat: add messaging toggles, password reset UI, and payment discounts
Add notification channel toggles to settings, password reset SMS action on user form, and discount/payable amount display on payment views.
2026-08-16 06:58:09 +03:30
kavehhn 5fe7eb090e fix(classes): make weekly schedule editable on the class form
Replace the PrimeVue SelectButton weekday control with a visible checkbox group so days and times stay on the edit page.
2026-08-16 00:04:13 +03:30
kavehhn 91527e64bb feat(classes): add class days and meeting times to class forms
Let admins set the weekly schedule on the class and show it in lists, details, and session generation.
2026-08-15 23:59:08 +03:30
kavehhn 3f220dda52 feat: add profile, class unenroll, notify toggles, and keep sidebar width
Give admins a profile password page, class removal, and SMS/email/bot checkboxes, and stop the sidebar from shrinking on edit pages.
2026-08-15 23:48:18 +03:30
kavehhn 7b083d5dbc feat(settings): add class schedule SMS slots without overwriting names
Let SuperAdmin map start date, class days, and course time, and keep custom sms.ir names when changing the system value.
2026-08-15 23:09:04 +03:30
kavehhn 84cd291dc2 fix(settings): keep extra SMS variables after save
Avoid Vue's reserved slot field on the variable dropdown so newly added rows survive save.
2026-08-15 22:55:54 +03:30
kavehhn 196eb77b31 fix(settings): ensure newly added variables are always preserved and saved 2026-08-15 22:24:46 +03:30
kavehhn 407a5124ac fix(settings): fix variable slot dropdown and saving multi-variables 2026-08-15 22:07:19 +03:30
kavehhn 9fbaf3c7fe fix(settings): fix Vue reactivity and form keying on SMS templates save 2026-08-15 22:03:29 +03:30
kavehhn 28b75664ab feat(settings): allow adding/removing dynamic variables in SMS templates 2026-08-15 21:58:19 +03:30
kavehhn dc867883f2 feat(professors): add nationalId required field to professor form and table 2026-08-15 19:07:09 +03:30
kavehhn 73670703bb fix: align FilePond upload with the Node.js API and proxy gallery previews
Use the filepond-image field, parse the API envelope, and load private files through the authenticated content endpoint so uploads persist and images display.
2026-08-15 18:46:26 +03:30
kavehhn 67cba87661 feat: edit SMS variable names in dashboard settings
Allow SuperAdmin to set sms.ir placeholder names for each template before saving.
2026-08-15 18:43:24 +03:30
kavehhn 717f122eef feat: add SMS template IDs to dashboard settings
Let SuperAdmin save sms.ir template IDs in the database, creating missing template records on save.
2026-08-15 18:37:44 +03:30
kavehhn 2b3941e41e fix: persist user documents immediately after FilePond upload
FilePond success only stored files in the temp bucket, so the documents table stayed empty unless a second commit click was used.
2026-08-15 03:27:21 +03:30
kavehhn 370d2fdad6 feat: user certificate and document upload galleries
Add FilePond temp upload with form commit, PhotoSwipe zoom/swipe galleries, and user detail route for files.
2026-08-15 02:53:59 +03:30
kavehhn b8e206caab feat: improve bill flow, user columns, and admin notes UI
Select class before user when creating bills, fix national ID and registered classes display, remove course ratings, fix notification badge, and show Persian datetime in the topbar.
2026-08-15 02:39:10 +03:30
kavehhn 6b5549019c feat: add settings data upload and single-name user forms
Allow SuperAdmins to upload import JSON from settings, and update user UI for merged name, gender, and extended profile fields.
2026-08-15 01:31:47 +03:30
kavehhn 833584b1b4 feat: add settings seed action and remove login credentials
SuperAdmins can seed once from Settings, and the login page no longer exposes default credentials.
2026-08-14 23:23:06 +03:30
kavehhn 35dfd4a603 fix: update gitignore to unignore logs view, update main.scss to use @use 2026-08-12 06:29:00 +03:30
kavehhn b77be5d6ee fix: allow custom hosts in Vite server config 2026-08-12 06:16:57 +03:30
kavehhn a0c91660b1 chore: revert node version to 24 in Dockerfile 2026-08-12 06:09:20 +03:30
kavehhn 26a06a529f chore: update node version to 22 in Dockerfile 2026-08-12 06:07:38 +03:30
kavehhn 1a34c3b133 Initial commit: admin dashboard for GameNo.
Vue 3 + Vite dashboard with PrimeVue, i18n, and API integration for institution management.
2026-08-09 04:18:09 +02:00