Commit Graph
135 Commits
Author SHA1 Message Date
Tống Thành Đạt 2cee0172f2 refactor(cms): replace custom icon comboboxes with standardized icon picker
Replace the legacy `cms-icon-combobox` implementation with a new, standardized `icon-picker` across multiple admin modules. This change simplifies the UI by using a Bootstrap input group with a dedicated "Pick Icon" button and a preview cell.

Affected areas:
- Policies block editor
- Accreditation, Admissions, History, and Policies admin editor scripts
- Admissions calculator options view
This removes redundant icon list generation and manual dropdown management in favor of a centralized icon picker utility.
2026-04-22 20:27:42 +07:00
Tống Thành Đạt c0ea0dcb4d Merge branch 'develop' into fea/dat-20042026-CMS-Partnerships-Accreditation-History-Admissions-Policies 2026-04-22 19:28:05 +07:00
tienduy ad0a64b9ce Merge pull request 'Add icon colection' (#6) from feat/duy-20042026-HomepageAbout into develop
Reviewed-on: UKSOURCE/cms.lams#6
2026-04-22 12:20:36 +00:00
tienduy 7c21bbd1af Add icon colection 2026-04-22 19:15:52 +07:00
Tống Thành Đạt 64b1b77d30 Merge branch 'develop' into fea/dat-20042026-CMS-Partnerships-Accreditation-History-Admissions-Policies 2026-04-22 18:08:53 +07:00
Tống Thành Đạt a39c336dd4 feat(cms): enhance content editors with dynamic UI configs and validation
Implement a more flexible, configuration-driven approach for CMS editors across accreditation, admissions, and partnerships modules.
- Move UI labels, help texts, and field limits from hardcoded views to `editorUi` configurations in config files.
- Add server-side and client-side validation to prevent duplicate category tabs in accreditation and partnerships editors.
- Refactor partnership and admission views to dynamically render tabs and fields based on the provided configuration.
- Update field length constraints and default values across multiple content editors to better align with frontend requirements.
- Improve the admissions calculator editor with dynamic field configurations and default value fallbacks.
2026-04-22 18:06:03 +07:00
tienduy 06de6535da Merge pull request 'feat/duy-20042026-HomepageAbout' (#5) from feat/duy-20042026-HomepageAbout into develop
Reviewed-on: UKSOURCE/cms.lams#5
2026-04-22 09:40:39 +00:00
tienduy f685ff88ee Fix: migrate footer, delete more file view 2026-04-22 16:40:30 +07:00
tienduy ffb22134f4 Merge branch 'develop' of https://gits.techvanguard.vn/UKSOURCE/cms.lams into feat/duy-20042026-HomepageAbout 2026-04-22 15:40:47 +07:00
tienduy 23516414fb Merge pull request 'header' (#4) from feat/toan-22042026-header into develop
Reviewed-on: UKSOURCE/cms.lams#4
2026-04-22 08:34:44 +00:00
tienduy 3ede974215 Refactor Homepage, About, Footer (Controller,Model, View, Data), Update: Dashboard, Delete old file 2026-04-22 15:30:09 +07:00
nthanhtoan 0750c35e92 header 2026-04-22 15:22:22 +07:00
Tống Thành Đạt a44d005c13 feat(cms): enhance policy editor with fullscreen mode and date picking
Improve the policy content management experience by adding a dedicated fullscreen editing mode and a structured date picker for effective dates.
- Implement fullscreen toggle in `policies-block-editor.js` with corresponding CSS for an expanded workspace
- Add `date` field type to `sharedFields.js` and integrate it into `policiesConfig.js`
- Implement date parsing and formatting utilities in `editor-script.ejs` to handle "Effective Date" strings
- Update `policiesController.js` to use `updateOne` for more reliable document persistence and state reloading
- Add support for `ICON_OPTIONS` in the policy editor configuration
- Refine editor UI layout and overflow handling for better stability with long content strings
2026-04-22 12:02:00 +07:00
Tống Thành Đạt cdaddddfeb refactor(policies): migrate to block-based content editor
Replace the legacy section-based policy editor with a flexible block-based system. This transition enables real-time previews, a wider variety of content types (headings, quotes, callouts), and improved data normalization.
- Implement `policies-block-editor.js` for dynamic content management
- Add `normalizePoliciesDocument` and `validateContent` utilities to handle data migration and integrity
- Update `policiesController.js` to support the new block structure and validation logic
- Migrate `policies.json` from `sections` array to a `content.blocks` structure
- Remove obsolete section editor views and partials
- Update `policiesConfig.js` to reflect the new editor capabilities
2026-04-22 10:14:54 +07:00
Tống Thành Đạt f26b072954 feat(cms): implement structured tuition data normalization and editor
Refactor tuition data from a simple numeric array to a structured object
containing time labels and values. This allows for more flexible
charting and precise data entry in the CMS.
- Add `normalizeTuition`, `normalizeTuitionSeries`, and `normalizeTuitionPoint` to `admissionsController.js`
- Update `admissionsConfig.js` to use `objectList` for tuition data points instead of `stringList`
- Migrate existing tuition data in `admissions.json` to the new structured format
- Fix duplicate text in `admissions.json` grant amounts and descriptions
2026-04-22 03:48:02 +07:00
Tống Thành Đạt 5d0fae6d51 feat(cms): enhance content editors and implement automatic ID generation
Improve the CMS administration interface across multiple pages (Accreditation, Admissions, History, Partnerships, and Policies) with a focus on usability and data integrity.
Key changes include:
- Implement `ensureUniqueIds` utility to automatically generate and maintain unique slugs for content items, removing the need for manual ID entry in the UI.
- Refactor the Admissions calculator to support detailed per-option editing via a new dedicated view and routes.
- Replace basic datalists with a custom, searchable icon combobox component for better visual selection.
- Update `_renderSingletonPageView` to handle active tab persistence via query parameters.
- Streamline editor configurations by removing redundant fields and improving help text.
- Enhance the Admissions "Key Dates" editor with a dynamic table interface for managing columns and rows.
- Normalize data payloads in controllers to ensure consistent API responses and internal linking.
2026-04-21 12:37:19 +07:00
Tống Thành Đạt 122df1a46e Merge branch 'develop' into fea/dat-20042026-CMS-Partnerships-Accreditation-History-Admissions-Policies 2026-04-21 12:33:11 +07:00
Tống Thành Đạt 5615c494cf style(cms): improve editor ui and implement collapsible item cards
Enhance the CMS administration interface by introducing a more refined design system for content editors. This update replaces generic Bootstrap utility classes with dedicated CMS styling to improve visual hierarchy and usability.
Key changes:
- Introduce `cms-editor-group` and `cms-item-card` classes for consistent grouping and item styling.
- Implement collapsible functionality for item cards to manage long lists of content more effectively.
- Standardize editor buttons, including new styles for drag handles, remove buttons, and add buttons.
- Update the fixed bottom action bar with improved backdrop filters, shadows, and spacing.
- Refactor editor scripts across Accreditation, Admissions, History, Partnerships, and Policies to utilize the new UI components and collapse logic.
- Add comprehensive CSS to `main.ejs` to support the new CMS design tokens and layout behaviors.
2026-04-20 20:10:27 +07:00
Tống Thành Đạt 7df3a6f6bf feat(cms): refactor page content management and implement detailed editors
Refactor the CMS page content system to use a more modular configuration-driven approach. This replaces the monolithic `pageContentConfig.js` with individual configuration files for each page and introduces a shared field utility to standardize editor components.
Key changes:
- Implement a generic `_renderSingletonPageView` helper to reduce duplication across controllers.
- Enhance `_createPageContentController` with `normalizeForEditor`, `normalizeForApi`, and `preparePayload` hooks for custom data transformation.
- Create dedicated configuration and view structures for Partnerships, History, Accreditation, Admissions, and Policies pages.
- Add a specialized section editor for Policies to manage complex nested content.
- Improve the frontend `page-content-editor.js` with support for visibility logic, auto-sequencing for arrays, and URL synchronization for active tabs.
- Update data JSON files to align with the new schema.
2026-04-20 19:43:28 +07:00
tienduy cb5e4b0ceb Merge pull request 'feat/truong-20042026-ProgrammeBlog' (#2) from feat/truong-20042026-ProgrammeBlog into develop
Reviewed-on: UKSOURCE/cms.lams#2
2026-04-20 11:53:46 +00:00
tienduy e230acd936 Merge pull request 'Adding backend of Student Support, Contact, Request' (#1) from feat/duong-20042026-CMSIntergration into develop
Reviewed-on: UKSOURCE/cms.lams#1
2026-04-20 11:49:09 +00:00
nhuttruong 30b90051c9 feat: add programme module and blog integration
- Add Programme Mongoose model with sub-schemas and migrateFromJson static method
- Add programme CRUD controller with audit logging and icon sanitization
- Add programme admin views (index, edit) with tabbed form and dynamic arrays
- Add seed migration script for programmes
- Add /api/programmes and /api/programmes/:id public API endpoints
- Register programme routes in admin and public router
- Update dashboard with Programmes card and API endpoint entries
- Update admin sidebar layout to include Programmes nav link
2026-04-20 18:40:29 +07:00
xuanduong ac5fa14c97 Adding backend of Student Support, Contact, Request 2026-04-20 16:22:37 +07:00
Tống Thành Đạt 8b6bf5fe6e feat(cms): add management for partnerships, history, accreditation, admissions, and policies pages
Implement a singleton page content system to manage static informational pages. This includes:
- New controllers, models, and data files for Partnerships, History, Accreditation, Admissions, and Policies.
- Admin routes and views for updating page content.
- Public API endpoints for fetching page data.
- Migration scripts for initializing page data.
- Updated admin navigation layout to include a dropdown for "About" sections.
- Audit action constants for tracking updates to these pages.
2026-04-20 14:08:38 +07:00
admin fab72e86a6 change || to ?? 2026-04-11 19:15:01 +07:00
admin ac40097bdd add logs 2026-04-11 19:04:26 +07:00
admin 1cc0c66835 add logs 2026-04-11 18:49:05 +07:00
admin b15c4ed525 Merge branch 'main' of ssh://gits.techvanguard.vn:8822/UKSOURCE/cms.hailearning.edu.vn into main 2026-04-11 16:11:39 +07:00
admin 033cec29f1 fix cors 2026-04-11 16:11:26 +07:00
tranthanh e86e5d2c46 Merge pull request 'fix: standardize model import names for HeaderMenu across controllers and scripts' (#40) from fix/thanh-19032026-rename-file into main
Reviewed-on: UKSOURCE/cms.hailearning.edu.vn#40
2026-03-19 02:54:08 +00:00
Wini_Fy e85c80ab2f fix: standardize model import names for HeaderMenu across controllers and scripts 2026-03-19 09:54:17 +07:00
Wini_Fy 45077b858b fix: correct date filtering logic to ensure proper date range handling 2026-03-19 09:49:22 +07:00
tranthanh 46403d4fcb Merge pull request 'fix/thanh-19032026-rename-file' (#39) from fix/thanh-19032026-rename-file into main
Reviewed-on: UKSOURCE/cms.hailearning.edu.vn#39
2026-03-19 02:49:06 +00:00
Wini_Fy 4e4042e075 feat: Create new file 2026-03-19 09:39:53 +07:00
Wini_Fy f26a4b7e25 feat: Remove file 2026-03-19 09:39:12 +07:00
Wini_Fy 63d6bd7c8f feat: Rename file 2026-03-19 09:36:14 +07:00
admin 6002e04c2e add rebuild 2026-03-15 17:23:33 +07:00
nthanhtoan 79487fa60d Update package.json 2026-03-07 16:14:17 +07:00
tranthanh 7319eba9a6 Merge pull request 'feat: implement comprehensive audit logging system' (#37) from fea/bao-10022026-AuditLog into main
Reviewed-on: UKSOURCE/cms.hailearning.edu.vn#37
2026-02-11 04:50:46 +00:00
nguyenvanbao c37b355f06 fix(): fix conflict 2026-02-10 16:48:58 +07:00
nguyenvanbao 8b3f0534d8 Merge branch 'main' of https://gits.techvanguard.vn/UKSOURCE/cms.hailearning.edu.vn into fea/bao-10022026-AuditLog 2026-02-10 16:46:39 +07:00
nguyenvanbao 970fcbac7d feat: implement comprehensive audit logging system 2026-02-10 16:42:35 +07:00
tranthanh 467a807600 Merge pull request 'fea/thanh-05022026-home' (#36) from fea/thanh-05022026-home into main
Reviewed-on: UKSOURCE/cms.hailearning.edu.vn#36
2026-02-10 03:36:38 +00:00
Wini_Fy 380e5f497d Merge branch 'main' of https://gits.techvanguard.vn/UKSOURCE/cms.hailearning.edu.vn into fea/thanh-05022026-home 2026-02-10 10:33:58 +07:00
Wini_Fy c56fc0f2f7 feat: Clear console.log 2026-02-10 10:25:22 +07:00
Wini_Fy 5e7de227ec feat: add password toggle visibility and rename forgot-password to change-password 2026-02-10 10:24:35 +07:00
tranthanh d440a04618 Merge pull request 'feat: implement user authentication with database integration' (#35) from fea/thanh-05022026-home into main
Reviewed-on: UKSOURCE/cms.hailearning.edu.vn#35
2026-02-09 09:40:35 +00:00
Wini_Fy 2ddf43c139 feat: implement user authentication with database integration 2026-02-09 16:36:50 +07:00
tranthanh a2785955b3 Merge pull request 'refactor: update primary color variables and adjust styles in dashboard and login pages' (#34) from hoanganh-03022026-appointment-contact-pricing into main
Reviewed-on: UKSOURCE/cms.hailearning.edu.vn#34
2026-02-09 06:24:23 +00:00
LNHA 759cd8f10c refactor: update primary color variables and adjust styles in dashboard and login pages 2026-02-09 13:20:35 +07:00