Commit Graph
92 Commits
Author SHA1 Message Date
lewis_yan 2e861cd0cb fix(infra): update REDIS_HOST to deployment server
Change REDIS_HOST from local address to deployment server address.
2026-04-02 14:28:33 +08:00
lewis_yan ab37702ee4 feat(celery): register check-quote-deadline-expired beat schedule 2026-04-02 10:45:41 +08:00
lewis_yan b508242456 feat(celery): add check_quote_deadline_expired periodic task 2026-04-02 10:45:11 +08:00
lewis_yan 03edefa636 feat(email): register TEMPLATE_QUOTE_DEADLINE_EXPIRED template 2026-04-02 10:44:24 +08:00
lewis_yan 6d2723b220 feat(email): add quote deadline expired notification templates 2026-04-02 10:43:46 +08:00
lewis_yan 98563d279e Merge branch 'develop' of http://192.168.80.90:8086/pisteams/pis into develop 2026-04-02 10:32:15 +08:00
lewis_yan 45eccc45ec test: update Django+DRF testing infrastructure
- pytest.ini: use application.test_settings for MSSQL compatibility
- conftest.py: move to backend root; use UserFactory with Sequence
- application/test_settings.py: NoCreateTestDatabase patch for MSSQL
- test_serializers.py: use chinese error keys (django_restql behavior)
- test_views.py: use API response code assertions (SuccessResponse format)
2026-04-02 10:26:12 +08:00
lewis_yan 5a65c441bd feat(login): add /api/login/supplier/ route in application urls 2026-04-02 10:25:55 +08:00
allen_xiong ceaa3bdc1f Merge branch 'develop' into 'develop'
Develop

See merge request pisteams/pis!36
2026-04-02 02:07:05 +00:00
lewis_yan eb1e8c3f5d test: add CurrencyViewSet tests for basicinfo 2026-04-02 09:58:36 +08:00
lewis_yan 8d46b5c4fa test: add CurrencySerializer tests for basicinfo 2026-04-02 09:58:19 +08:00
lewis_yan 5df83edb1e test: add CurrencyFactory and UnitFactory for basicinfo app 2026-04-02 09:58:03 +08:00
lewis_yan dfc0c742c2 test: add basicinfo tests directory 2026-04-02 09:57:10 +08:00
lewis_yan 6ba1f57453 test: add UserFactory for system models 2026-04-02 09:57:02 +08:00
lewis_yan 23b892b05e test: add global conftest.py with fixtures 2026-04-02 09:56:52 +08:00
lewis_yan f09af5b0ce test: add global tests directory structure 2026-04-02 09:56:41 +08:00
lewis_yan 388efbe918 test: add pytest.ini configuration 2026-04-02 09:56:29 +08:00
lewis_yan 74ab2caf29 feat(login): add /login/supplier/ route for supplier portal 2026-04-02 09:50:49 +08:00
lewis_yan 9d581dd5d3 feat(login): add SupplierLoginSerializer and SupplierLoginView for supplier portal 2026-04-02 09:48:46 +08:00
lewis_yan 4582dd5ef4 Merge branch 'develop' of http://192.168.80.90:8086/pisteams/pis into develop 2026-04-02 09:22:18 +08:00
lewis_yan 27b98bc73f feat(dashboard): complete buyer/supplier dashboard redesign
Backend:
- Fix JWT auth header format (use "JWT " prefix)
- Fix DashboardView to return data for superadmin users
- Return empty structure when no business data exists
- Use serializers for response validation

Frontend:
- Redesign BuyerDashboard with new UI matching design spec
- Redesign SupplierDashboard with consistent styling
- Add role switcher for users with both buyer/supplier roles
- Fix FontAwesome icon class names (fa vs fas)
- Update tagsView title when switching roles via mitt event
- Add i18n translations for dashboard

Auth fixes:
- Fix token storage to use sessionStorage instead of Cookies
- Add route initialization guard to prevent duplicate routing
- Fix login flow for token handling

Files:
- Add BuyerDashboard, SupplierDashboard, KpiCard, TrendChart components
- Add dashboard API and Pinia store
- Add mitt event type for tagsView name update
2026-04-02 09:20:12 +08:00
nebula_chen 851580afad 修改履历表写入文本 2026-04-01 19:40:43 +08:00
nebula_chen 92c4f5d524 调整部分前端效果;增加报价单逾期写入履历表 2026-04-01 19:35:54 +08:00
lewis_yan 7240d4f0c9 refactor(dashboard): rewrite views.py using DRF CBV pattern
- Move serializers into views.py for self-contained CBV
- Use DashboardViewSet with list() method for GET
- Add proper docstrings
- Use serializer for response validation
2026-04-01 19:27:21 +08:00
lewis_yan 574d9557cf fix(dashboard): use DashboardView instead of placeholder in urls.py
The urls.py was still using a placeholder view function. Updated to import
and use the proper DashboardView.as_view() from views.py.
2026-04-01 19:21:39 +08:00
lewis_yan 0bd82e517b feat(dashboard): implement dashboard view with role-based data filtering 2026-04-01 19:07:47 +08:00
lewis_yan 54976e0335 feat(dashboard): add dashboard serializers 2026-04-01 19:07:00 +08:00
lewis_yan c3fb11c481 feat(dashboard): create dashboard app skeleton with URL routing 2026-04-01 19:06:17 +08:00
allen_xiong 6d4e431a39 Merge branch 'develop' into 'develop'
新增邮件类型;调整部分前端效果

See merge request pisteams/pis!34
2026-04-01 09:36:20 +00:00
nebula_chen 0a1d5e29fb 新增邮件类型;调整部分前端效果
询价单详情页仅查看模式显示“询价单操作日志”;修改受邀供应商均报价提醒采购人员邮件文案;新增超过报价截止时间提醒采购人员邮件模板及调用
2026-04-01 17:18:59 +08:00
lewis_yan d16ae56f9a fix: fix OpenSSL and Kerberos package names for Debian Trixie
libcrypto3 doesn't exist as separate package on Trixie (part of libssl3).
Use correct package names: libssl3, libkrb5-3, krb5-user.
2026-04-01 16:12:51 +08:00
lewis_yan 0dc5a3d730 fix: add OpenSSL and Kerberos dependencies for msodbcsql18 driver
The ODBC Driver 18 requires libssl, libcrypto, and Kerberos libraries
to function. Also set LD_LIBRARY_PATH to include the driver lib64 directory.
2026-04-01 16:07:06 +08:00
lewis_yan c146409012 fix: manually register ODBC Driver 18 by appending to odbcinst.ini
Instead of using odbcinst command (location uncertain), directly append
driver config to /etc/odbcinst.ini
2026-04-01 15:56:25 +08:00
lewis_yan f3d367db02 fix: remove unnecessary odbcinst copy, use system-installed version
The odbcinst binary is provided by unixodbc installed in the runtime
image, not copied from builder.
2026-04-01 15:50:54 +08:00
lewis_yan 8e62124695 fix: copy odbcinst binary from builder to runtime image
The odbcinst binary is installed in /usr/bin/ by unixodbc, not
/usr/local/bin/. Copy it explicitly to the runtime image.
2026-04-01 15:48:25 +08:00
lewis_yan e65bc8b8b1 fix: use libodbc2 instead of libodbc1 for Debian Trixie 2026-04-01 15:44:59 +08:00
lewis_yan 5f4d27952a fix: register ODBC Driver 18 in runtime image
The msodbcsql18 driver needs to be registered with odbcinst so that
unixODBC can find it when pyodbc connects to SQL Server.
2026-04-01 15:30:46 +08:00
lewis_yan 5f37a9391b fix: use ODBC Driver 18 for SQL Server instead of Driver 17
The settings.py is configured to use "ODBC Driver 18 for SQL Server",
so we need to install msodbcsql18 package.
2026-04-01 15:10:59 +08:00
lewis_yan 065278a15f fix: add unixodbc runtime library to Dockerfile
The runtime image needs libodbc.so.2 for pyodbc to work with SQL Server.
2026-04-01 15:06:03 +08:00
lewis_yan 8c7761ed26 fix: correct msodbcsql17 library path in Dockerfile
The msodbcsql17 package installs to /opt/microsoft/msodbcsql17/, not
/usr/lib/x86_64-linux-gnu/. Copy from the correct path in runtime image.
2026-04-01 15:02:16 +08:00
allen_xiong 670bb9c12f Merge branch 'develop' into 'develop'
新增 - 所有供应商均提交报价邮件通知采购商;供应商用户信息表及相应序列化器

See merge request pisteams/pis!33
2026-04-01 06:49:42 +00:00
nebula_chen c3ecfbfd56 实现询价操作日志查询接口;实现前端页面“询价操作日志查询” 2026-04-01 14:47:31 +08:00
lewis_yan 83fa2ea313 chore: remove Jenkins build image stage use --no-cache 2026-04-01 14:45:48 +08:00
lewis_yan 0a6e44d3de chore: update dockerfile no cache 2026-04-01 14:42:39 +08:00
lewis_yan 38d7da3762 fix: copy ODBC driver libraries to runtime image in backend Dockerfile
msodbcsql17 and its dependencies (libodbc.so.2, libodbcinst.so.2,
libmsodbcsql-17.so, libiconv.so.2, libcharset.so.1) were only installed
in the builder stage but not copied to the runtime image, causing
"libodbc.so.2: cannot open shared object file" at startup.
2026-04-01 14:40:44 +08:00
nebula_chen 0424a3e3f4 补充询价操作履历表更新逻辑;修复前端bug--报价单仅拉起10条数据;杂采报价相应表结构名更新前缀pis_misc_ 2026-04-01 11:02:35 +08:00
lewis_yan e0545af483 chore: restore Dockerfiles and update Jenkinsfile paths
- Add web/Dockerfile for frontend image build
- Add backend/Dockerfile for backend image build
- Update Jenkinsfile paths from docker_env/ to web/ and backend/

Note: docker_env directory was removed; Dockerfiles now placed in respective app directories.
2026-04-01 10:50:06 +08:00
lewis_yan dfe5284ba1 fix: push latest tag after build 2026-04-01 10:28:00 +08:00
nebula_chen 90103f6126 新增 - 所有供应商均提交报价邮件通知采购商;供应商用户信息表及相应序列化器 2026-04-01 09:43:44 +08:00
allen_xiong bf531c13fa Merge branch 'develop' into 'develop'
报价单详情窗口、询价单详情窗口、比价窗口转为对应路由页面;

See merge request pisteams/pis!32
2026-04-01 01:12:05 +00:00