Commit Graph

  • 29edd73744 projects: add /all endpoint for unlimited project list Mikhail Chusavitin 2026-02-09 11:19:49 +03:00
  • e8d0e28415 export: add project name to CSV filename format Mikhail Chusavitin 2026-02-09 11:02:36 +03:00
  • 08feda9af6 export: use filename from Content-Disposition header in browser Mikhail Chusavitin 2026-02-09 10:58:01 +03:00
  • af79b6f3bf export: update CSV filename format to YYYY-MM-DD (PROJECT-NAME) BOM Mikhail Chusavitin 2026-02-09 10:49:56 +03:00
  • bca82f9dc0 export: implement streaming CSV with Excel compatibility Mikhail Chusavitin 2026-02-09 10:47:10 +03:00
  • 17969277e6 pricing: enrich pricelist items with stock and tighten CORS v1.1.0 Michael Chus 2026-02-08 10:27:36 +03:00
  • 0dbfe45353 security: harden secret hygiene and pre-commit scanning Michael Chus 2026-02-08 10:27:23 +03:00
  • f609d2ce35 Add pricelist type column and commit pending changes v1.0.5 Michael Chus 2026-02-08 10:03:24 +03:00
  • 593280de99 sync: clean stale local pricelists and migrate runtime config handling Michael Chus 2026-02-08 10:01:27 +03:00
  • eb8555c11a Stop tracking ignored release artifacts Michael Chus 2026-02-08 08:55:21 +03:00
  • 7523a7d887 Remove admin pricing stack and prepare v1.0.4 release v1.0.4 Michael Chus 2026-02-07 21:23:23 +03:00
  • 95b5f8bf65 refactor lot matching into shared module Michael Chus 2026-02-07 06:22:56 +03:00
  • b629af9742 Implement warehouse/lot pricing updates and configurator performance fixes Michael Chus 2026-02-07 05:20:35 +03:00
  • 72ff842f5d Fix stock import UI bugs: dead code, fragile data attr, double-click, silent duplicates Michael Chus 2026-02-06 23:30:01 +03:00
  • 5f2969a85a Refine stock import UX with suggestions, ignore rules, and inline mapping controls Mikhail Chusavitin 2026-02-06 19:58:42 +03:00
  • eb8ac34d83 Fix stock mappings JSON fields and enable row selection for editing Mikhail Chusavitin 2026-02-06 19:39:39 +03:00
  • 104a26d907 Add stock pricelist admin flow with mapping placeholders and warehouse details Mikhail Chusavitin 2026-02-06 19:37:12 +03:00
  • b965c6bb95 WIP: save current pricing and pricelist changes Mikhail Chusavitin 2026-02-06 19:07:22 +03:00
  • 29035ddc5a configs: save pending template changes Mikhail Chusavitin 2026-02-06 16:43:04 +03:00
  • 2f0ac2f6d2 projects: add tracker_url and project create modal Mikhail Chusavitin 2026-02-06 16:42:32 +03:00
  • 8a8ea10dc2 Add tracker link on project detail page Mikhail Chusavitin 2026-02-06 16:31:34 +03:00
  • 51e2d1fc83 Fix local pricelist uniqueness and preserve config project on update Mikhail Chusavitin 2026-02-06 16:00:23 +03:00
  • 3d5ab63970 Make full sync push pending and pull projects/configurations Mikhail Chusavitin 2026-02-06 15:25:07 +03:00
  • c02a7eac73 Prepare v1.0.3 release notes v1.0.3 Mikhail Chusavitin 2026-02-06 14:04:06 +03:00
  • 651427e0dd Add projects table controls and sync status tab with app version Mikhail Chusavitin 2026-02-06 14:02:21 +03:00
  • f665e9b08c sync: recover missing server config during update push Mikhail Chusavitin 2026-02-06 13:41:01 +03:00
  • 994eec53e7 Fix MySQL DSN escaping for setup passwords and clarify DB user setup Mikhail Chusavitin 2026-02-06 13:27:57 +03:00
  • 2f3c20fea6 update stale files list Mikhail Chusavitin 2026-02-06 13:03:59 +03:00
  • 80ec7bc6b8 Apply remaining pricelist and local-first updates Mikhail Chusavitin 2026-02-06 13:01:40 +03:00
  • 8e5c4f5a7c Use admin price-refresh logic for pricelist recalculation Mikhail Chusavitin 2026-02-06 13:00:27 +03:00
  • 1744e6a3b8 fix: skip startup sql migrations when not needed or no permissions Mikhail Chusavitin 2026-02-06 11:56:55 +03:00
  • 726dccb07c feat: add projects flow and consolidate default project handling v1.0.2 Mikhail Chusavitin 2026-02-06 11:39:12 +03:00
  • 38d7332a38 Update pricelist repository, service, and tests Mikhail Chusavitin 2026-02-06 10:14:24 +03:00
  • c0beed021c Enforce pricelist write checks and auto-restart on DB settings change v1.0.1 Mikhail Chusavitin 2026-02-05 15:44:54 +03:00
  • 08b95c293c Purge orphan sync queue entries before push Mikhail Chusavitin 2026-02-05 15:17:06 +03:00
  • c418d6cfc3 Handle stale configuration sync events when local row is missing Mikhail Chusavitin 2026-02-05 15:11:43 +03:00
  • 548a256d04 Drop qt_users dependency for configs and track app version Mikhail Chusavitin 2026-02-05 15:07:23 +03:00
  • 77c00de97a Добавил шаблон для создания пользователя в БД Mikhail Chusavitin 2026-02-05 10:55:02 +03:00
  • 0c190efda4 Fix sync owner mapping before pushing configurations Mikhail Chusavitin 2026-02-05 10:43:34 +03:00
  • 41c0a47f54 Implement local DB migrations and archived configuration lifecycle Mikhail Chusavitin 2026-02-04 18:52:56 +03:00
  • f4f92dea66 Store configuration owner by MariaDB username v0.2.11-3-gf4f92de Mikhail Chusavitin 2026-02-04 12:20:41 +03:00
  • f42b850734 Recover DB connection automatically after network returns Mikhail Chusavitin 2026-02-04 11:43:31 +03:00
  • d094d39427 Add server-to-local configuration import in web UI Mikhail Chusavitin 2026-02-04 11:31:23 +03:00
  • 4509e93864 Store config in user state and clean old release notes v0.2.11 Mikhail Chusavitin 2026-02-04 11:21:48 +03:00
  • e2800b06f9 Log binary version and executable path on startup Mikhail Chusavitin 2026-02-04 10:21:18 +03:00
  • 7c606af2bb Fix missing config handling and auto-restart after setup Mikhail Chusavitin 2026-02-04 10:19:35 +03:00
  • fabd30650d Store local DB in user state dir as qfs.db v0.2.10 Mikhail Chusavitin 2026-02-04 10:03:17 +03:00
  • 40ade651b0 Ignore local Go cache directory Mikhail Chusavitin 2026-02-04 09:55:36 +03:00
  • 1b87c53609 Fix offline usage tracking and active pricelist sync Mikhail Chusavitin 2026-02-04 09:54:13 +03:00
  • a3dc264efd Merge feature/phase2-sqlite-sync into main v0.2.9 Michael Chus 2026-02-03 22:04:17 +03:00
  • 20056f3593 Embed assets and fix offline/sync/pricing issues v0.2.8 feature/phase2-sqlite-sync Michael Chus 2026-02-03 21:58:02 +03:00
  • 8a37542929 docs: add release notes for v0.2.7 v0.2.7 Mikhail Chusavitin 2026-02-03 11:39:23 +03:00
  • 0eb6730a55 fix: Windows compatibility and localhost binding Mikhail Chusavitin 2026-02-03 11:38:28 +03:00
  • e2d056e7cb feat: add Windows support to build system Mikhail Chusavitin 2026-02-03 11:04:04 +03:00
  • 1bce8086d6 feat: add release build script for multi-platform binaries v0.2.6 Mikhail Chusavitin 2026-02-03 10:58:41 +03:00
  • 0bdd163728 feat: add version flag and Makefile for release builds Mikhail Chusavitin 2026-02-03 10:57:22 +03:00
  • fa0f5e321d refactor: rename binary from quoteforge to qfs Mikhail Chusavitin 2026-02-03 10:55:14 +03:00
  • 502832ac9a Merge feature/phase2-sqlite-sync into main v0.2.5 Mikhail Chusavitin 2026-02-03 10:51:48 +03:00
  • 8d84484412 fix: fix online mode after offline-first architecture changes Mikhail Chusavitin 2026-02-03 10:50:07 +03:00
  • 2510d9e36e feat: show local pricelists in offline mode Michael Chus 2026-02-03 07:19:43 +03:00
  • d7285fc730 fix: prevent PricingHandler panics in offline mode Michael Chus 2026-02-03 07:17:58 +03:00
  • e33a3f2c88 fix: enable component search and pricing in offline mode Michael Chus 2026-02-03 07:15:03 +03:00
  • 4735e2b9bb feat: always show admin menu with online checks for operations Michael Chus 2026-02-03 07:12:18 +03:00
  • cdf5cef2cf perf: eliminate connection timeouts in offline mode Michael Chus 2026-02-03 07:10:53 +03:00
  • 7f030e7db7 refactor: migrate sync service and handlers to use ConnectionManager Michael Chus 2026-02-02 23:29:36 +03:00
  • 3d222b7f14 feat: add ConnectionManager for lazy database connections Michael Chus 2026-02-02 23:29:04 +03:00
  • c024b96de7 fix: enable instant startup and offline mode for server Michael Chus 2026-02-02 23:28:14 +03:00
  • 2c75a7ccb8 feat: improve admin pricing modal quote count display to show period and total counts Michael Chus 2026-02-02 21:34:51 +03:00
  • f25477a25e add todo Mikhail Chusavitin 2026-02-02 19:44:45 +03:00
  • 0bde12a39d fix: display only real sync errors in error count and list Mikhail Chusavitin 2026-02-02 17:19:52 +03:00
  • e0404186ad fix: remove duplicate showToast declaration causing JavaScript error Mikhail Chusavitin 2026-02-02 14:54:13 +03:00
  • eda0e7cb47 debug: add logging to diagnose admin pricing page issue Mikhail Chusavitin 2026-02-02 14:51:38 +03:00
  • 693c1d05d7 fix: ensure write permission check on admin pricing page load\n\n- Added explicit checkWritePermission() call when admin pricing page loads\n- Ensures 'Администратор цен' link and username are properly displayed\n- Fixes issue where these elements disappeared when navigating to admin pricing Mikhail Chusavitin 2026-02-02 14:30:28 +03:00
  • 7fb9dd0267 fix: cache database username to avoid redundant API calls\n\n- Added cachedDbUsername variable to store username after first API call\n- Modified loadPricelistsDbUsername to check cache before making API request\n- Reduces unnecessary API calls when opening pricelists modal multiple times\n- Improves performance and reduces server load Mikhail Chusavitin 2026-02-02 14:19:23 +03:00
  • 61646bea46 fix: hide pagination when pricelists loading fails\n\n- Added pagination hiding when pricelists load error occurs\n- Prevents display of empty pagination controls when there's an error\n- Maintains consistent UI behavior Mikhail Chusavitin 2026-02-02 14:15:23 +03:00
  • 9495f929aa fix: add double-submit protection for pricelist creation\n\n- Added isCreatingPricelist flag to prevent duplicate submissions\n- Disable submit button during creation process\n- Show loading text during submission\n- Re-enable button and restore text in finally block\n- Prevents accidental creation of duplicate pricelists Mikhail Chusavitin 2026-02-02 14:03:39 +03:00
  • b80bde7dac fix: add showToast fallback for robustness\n\n- Added fallback showToast function to prevent undefined errors\n- If showToast is not available from base.html, use simple alert fallback\n- Maintains same functionality while improving robustness\n- Addresses potential undefined showToast issue in pricelists functions Mikhail Chusavitin 2026-02-02 13:50:32 +03:00
  • e307a2765d fix: rename global canWrite variable to avoid naming conflicts\n\n- Renamed global 'canWrite' variable to 'pricelistsCanWrite' to avoid potential conflicts\n- Updated all references to the renamed variable in pricelists functions\n- Maintains same functionality while improving code quality Mikhail Chusavitin 2026-02-02 13:00:05 +03:00
  • 6f1feb942a fix: handle URL tab parameter in admin pricing page Mikhail Chusavitin 2026-02-02 12:56:14 +03:00
  • 236e37376e fix: properly hide main tab content when pricelists tab is active\n\n- Fixed tab switching logic to properly hide main tab-content when pricelists tab is selected\n- Ensures no 'Загрузка...' text appears in pricelists tab\n- Maintains proper tab visibility for all other tabs Mikhail Chusavitin 2026-02-02 12:45:33 +03:00
  • ded6e09b5e feat: move pricelists to admin pricing tab\n\n- Removed separate 'Прайслисты' link from navigation\n- Added 4th tab 'Прайслисты' to admin_pricing.html\n- Moved pricelists table, create modal, and CRUD functionality to admin pricing\n- Updated /pricelists route to redirect to /admin/pricing?tab=pricelists\n\nFixes task 2: Прайслисты → вкладка в "Администратор цен" Mikhail Chusavitin 2026-02-02 12:42:05 +03:00
  • 96bbe0a510 fix: use originalHTML to restore button state after sync Mikhail Chusavitin 2026-02-02 12:32:44 +03:00
  • b672cbf27d feat: implement comprehensive sync UI improvements and bug fixes Mikhail Chusavitin 2026-02-02 12:17:17 +03:00
  • e206531364 feat: implement sync icon + pricelist badge UI improvements Mikhail Chusavitin 2026-02-02 11:18:24 +03:00
  • 9bd2acd4f7 Add offline RefreshPrices, fix sync bugs, implement auto-restart Mikhail Chusavitin 2026-02-02 11:03:41 +03:00
  • ec3c16f3fc Add UI sync status indicator with pending badge Michael Chus 2026-02-02 06:38:23 +03:00
  • 1f739a3ab2 Update CLAUDE.md TODO list and add local-first documentation Michael Chus 2026-02-01 22:20:23 +03:00
  • be77256d4e Add background sync worker and complete local-first architecture Michael Chus 2026-02-01 22:17:00 +03:00
  • 143d217397 Add Phase 2: Local SQLite database with sync functionality Michael Chus 2026-02-01 11:00:32 +03:00
  • 8b8d2f18f9 Update CLAUDE.md with new architecture, remove Docker Michael Chus 2026-01-31 14:57:23 +03:00
  • 8c1c8ccace Add Go binaries to .gitignore Michael Chus 2026-01-31 10:31:43 +03:00
  • f31ae69233 Add price refresh functionality to configurator Michael Chus 2026-01-31 10:31:00 +03:00
  • 3132ab2fa2 Add cron job functionality and Docker integration v1.0.0 Michael Chus 2026-01-31 00:31:43 +03:00
  • 73acc5410f Update documentation to reflect actual implementation Michael Chus 2026-01-31 00:06:46 +03:00
  • 68d0e9a540 delete dangling files Michael Chus 2026-01-30 23:51:24 +03:00
  • 8309a5dc0e Add hide component feature, usage indicators, and Docker support Michael Chus 2026-01-30 22:49:11 +03:00
  • 48921c699d Add meta component pricing functionality and admin UI enhancements Mikhail Chusavitin 2026-01-30 20:49:59 +03:00
  • d32b1c5d0c Добавлены сортировка по категориям, секции PCI и автосохранение Mikhail Chusavitin 2026-01-30 17:48:44 +03:00
  • db37040399 Исправления расчёта цен и добавление функционала своей цены Mikhail Chusavitin 2026-01-27 11:53:39 +03:00
  • 7ded78f2c3 Улучшения управления ценами и конфигурациями Mikhail Chusavitin 2026-01-27 11:39:12 +03:00