Commit Graph
34 Commits
Author SHA1 Message Date
westfarn a4b37a0bb0 g
CI / test (pull_request) Successful in 10s
Unit Tests / test (pull_request) Successful in 10s
2026-07-07 11:20:15 -05:00
westfarn 115c5ae319 Dockerize Django app with dev/beta/prod env config and uv.
CI / test (pull_request) Successful in 11s
Unit Tests / test (pull_request) Failing after 6s
Replace hardcoded settings with environment-driven config, add Docker
compose for local and production deploys, migrate from pip to uv, and
split Gitea workflows so PRs run tests only while master pushes deploy.
2026-07-07 05:58:44 -05:00
westfarn 7dd5ec3be1 Add Employee vs Client user type and filter time/reports by employee (#14) (#15)
Unit Tests / test (push) Successful in 16s
## Summary

- Adds `UserProfile` model with mutually exclusive **Employee** / **Client** types
- Replaces auto-Employee signal with auto-Client profile on user creation
- Data migration: users with time log entries → Employee; others → Client (orphan Employee rows removed)
- Admin UI at `/financial/manage_users` to set any user's type; profile page shows current type
- **Employees** can log time; **Clients** get read-only access to reports and time logs
- Time logs, reports, and dashboard filter to employees only
- 14 new tests covering signals, type switching, access control, and filtering

## Design decisions (from issue Q&A)

1. Client login = read-only financial access (reports + time logs, no edit/log time)
2. Employee and Client are strictly mutually exclusive
3. Admins (superusers) can change type via Manage Users
4. Bulk migration applied for existing users

## Test plan

- [x] `python manage.py test financial.tests` (14 tests pass)
- [x] `python manage.py test public.tests` (21 tests pass)
- [ ] Run migration on staging: `python manage.py migrate`
- [ ] Verify admin can set user types at `/financial/manage_users`
- [ ] Verify employee can log time at `/financial/timekeeping`
- [ ] Verify client sees reports/time logs read-only, cannot log time
- [ ] Verify employee filter dropdown excludes clients

Closes #14

Reviewed-on: #15
2026-07-05 12:54:50 +00:00
westfarn 2fb5204614 Fix WebMCP schema validity on contact form (#13)
Deploy Company Site / test (push) Successful in 9s
Deploy Company Site / deploy (push) Successful in 4s
## Summary

Follow-up to PR #12 / Lighthouse agentic-browsing audit on `/contact` (score 0.88).

- Add `toolparamdescription` to all contact form fields for WebMCP schema validity
- Move reCAPTCHA outside the annotated `<form>` so `g-recaptcha-response` is excluded from the declarative tool schema
- Always render `toolname` / `tooldescription` on the contact form (not gated by `WEBMCP_ENABLED`)
- Override `django_recaptcha/widget_v3.html` to associate captcha with `form="contact-form"`
- Update docs with HTTPS Lighthouse commands

## Test plan

- [x] `python manage.py test public.tests` — 21 tests pass
- [ ] Deploy and re-run Lighthouse agentic-browsing on `https://aimloperations.com/contact`
- [ ] Confirm `webmcp-schema-validity` passes (expected overall score 1.0)

Reviewed-on: #13
2026-07-02 18:02:44 +00:00
westfarn bb5aa6de82 Add WebMCP tool registration for agentic browsing (#9) (#12)
Deploy Company Site / test (push) Successful in 10s
Deploy Company Site / deploy (push) Successful in 4s
## Summary

- Add `WEBMCP_ENABLED` setting and guarded `webmcp-tools.js` loader on public pages
- Register navigation tools (`list_services`, `get_page_content`, `navigate_to_service`, `open_contact_with_subject`) and contact tool (`submit_contact_inquiry`)
- Annotate contact form with declarative WebMCP attributes for Lighthouse form coverage
- Extend `PUBLIC_PAGE_ENTRIES` with summaries shared by SEO and WebMCP tools
- Add `docs/webmcp.md`, update `docs/agentic-browsing.md`, and regression tests

Closes #9

## Test plan

- [x] `python manage.py test public.tests` — 20 tests pass
- [ ] Set `WEBMCP_ENABLED=True`, enable Chrome experimental web platform features flag
- [ ] Verify homepage HTML includes `webmcp-config` and `webmcp-tools.js`
- [ ] Verify `/contact` form has `toolname="submit_contact_inquiry"`
- [ ] Run Lighthouse agentic-browsing on `/` and `/contact` with experimental flag
- [ ] Call `list_services` from WebMCP-capable Chrome on homepage
- [ ] Call `submit_contact_inquiry` on `/contact` with `DEBUG=True` (reCAPTCHA bypass)

Reviewed-on: #12
2026-07-02 16:57:47 +00:00
westfarn 7c9aba7e6c feature/7-tianji-acknowledge-banner (#11)
Deploy Company Site / test (push) Successful in 10s
Deploy Company Site / deploy (push) Successful in 5s
Reviewed-on: #11
2026-07-02 14:20:19 +00:00
westfarn b5ab8eb512 Switch Tianji tracking from opt-in consent to acknowledge notice. (#10)
Deploy Company Site / test (push) Successful in 10s
Deploy Company Site / deploy (push) Successful in 4s
Load analytics on page load so visitors who never interact still produce data, while an informational banner lets users acknowledge the practice. Migrate legacy declined and accepted consent values so prior opt-outs are cleared and tracking resumes.

Closes #7

Reviewed-on: #10
2026-07-02 12:04:10 +00:00
westfarn 846f1b8a37 Improve Lighthouse Agentic Browsing readiness (#8)
Deploy Company Site / test (push) Successful in 10s
Deploy Company Site / deploy (push) Successful in 5s
## Summary

- Add `robots.txt`, `sitemap.xml`, and `llms.txt` endpoints so crawlers and AI agents can discover public pages
- Fix accessibility tree issues: contact form labels, semantic nav/profile dropdown buttons, cookie consent dialog ARIA, and dead `href="#"` links
- Reduce layout shift on homepage/contact via hero min-heights, trusted-by marquee sizing, and fixed cookie banner
- Add regression tests and `docs/agentic-browsing.md` for Lighthouse agentic-browsing audits

Closes #5. Also addresses overlap with #3 (sitemap + robots.txt).

## Test plan

- [x] `python manage.py test public.tests` (14 tests pass)
- [ ] Verify `GET /robots.txt`, `/sitemap.xml`, `/llms.txt` return 200 in staging/prod
- [ ] Confirm contact form labels visible and submittable on `/contact`
- [ ] Run Lighthouse `--only-categories=agentic-browsing` on homepage and contact page
- [ ] Smoke test mobile nav dropdown and cookie consent banner

Reviewed-on: #8
2026-07-02 11:36:54 +00:00
westfarn c8574d76d4 Updated the consent banner
Deploy Company Site / test (push) Successful in 9s
Deploy Company Site / deploy (push) Successful in 4s
2026-06-29 05:14:18 -05:00
westfarn 63edf8c64f Fixing how the consent banner loads
Deploy Company Site / test (push) Successful in 10s
Deploy Company Site / deploy (push) Successful in 5s
2026-06-28 07:14:35 -05:00
westfarn 0f2b255b59 Tieing tianji to debug
Deploy Company Site / test (push) Successful in 10s
Deploy Company Site / deploy (push) Successful in 5s
2026-06-28 07:00:55 -05:00
westfarn 9c7e02e41e Add unittests and fix tracking error
Deploy Company Site / test (push) Successful in 10s
Deploy Company Site / deploy (push) Successful in 5s
2026-06-28 06:55:44 -05:00
westfarn 6e7bd25e29 Adding site tracking and consent to Tianji
Deploy Company Site / deploy (push) Successful in 4s
2026-06-28 06:47:52 -05:00
westfarn 7e448cf61a Update .gitea/workflows/deploy.yml
Deploy Company Site / deploy (push) Successful in 8s
2026-06-27 18:06:03 +00:00
westfarn afc197ecdf Update README.md 2026-06-27 18:04:27 +00:00
westfarn e625dc30ad Updated to get gitea action runner 2026-06-27 12:19:54 -05:00
westfarn 06ac8d6eca A bunch of updates 2026-06-20 06:05:50 -05:00
westfarn 8cd3aa5f84 EVM complete 2026-03-23 03:31:44 -05:00
westfarn c88e344198 Implemented financial tracking 2026-03-20 13:07:28 -05:00
westfarn 6fa4fc1f7c updated company logo 2025-12-08 10:49:18 -06:00
westfarn 2d9b987d03 seo optimization 2025-11-24 20:37:30 -06:00
westfarn 7d079607cb Fixing sending contact emails 2025-11-24 13:14:45 -06:00
westfarn 9b99ac92ee small updates and refined chat page 2025-11-24 06:03:32 -06:00
westfarn 9979c5bb9c site redesign 2025-11-22 06:55:40 -06:00
westfarn 75c6bf2a53 added site tracking 2025-04-21 06:37:57 -05:00
westfarn 68463c5013 Update company_site/public/admin.py 2025-03-25 20:52:18 +00:00
westfarn 150e240363 preview email 2025-03-24 13:06:45 -05:00
westfarn 1fe85321e0 Update company_site/public/templates/admin/public/emailmessage/change_form.html 2025-03-23 16:38:43 +00:00
westfarn 40cd595e90 added video to homepage and black as pre-commit 2025-03-11 07:49:52 -05:00
westfarn 1047d262c8 Update for the new redisn 2025-03-06 11:30:36 -06:00
westfarn 9272f64677 Merge pull request 'Issue-1: addes site tracking' (#2) from gitea/issue-1 into master
Reviewed-on: #2
2025-03-06 16:54:52 +00:00
westfarn 5af6f8b4ed Issue-1: addes site tracking 2025-03-06 10:53:37 -06:00
westfarn cdb3c1b771 Initial commit 2025-03-06 10:51:12 -06:00
westfarn 2737ca7241 Initial commit 2025-03-03 10:54:16 +00:00