Go to file
Christian a8eaf6e2a9 feat: enhance tag management and search functionality
- Updated the index.html template to include a new column for "Næste todo" in the sag table.
- Added new JavaScript functions to load and manage case statuses in settings.html, including normalization and rendering of statuses.
- Introduced a new tag search feature in tags_admin.html, allowing users to filter tags by name, type, and module with pagination support.
- Enhanced the backend router.py to include a new endpoint for listing tag usage across modules with server-side filtering and pagination.
- Improved the overall UI and UX of the tag administration page, including responsive design adjustments and better error handling.
2026-03-20 18:43:45 +01:00
.github feat(email): add functionality to send emails with attachments from case tab 2026-03-17 21:51:43 +01:00
app feat: enhance tag management and search functionality 2026-03-20 18:43:45 +01:00
backups/email_feature feat(email): add functionality to send emails with attachments from case tab 2026-03-17 21:51:43 +01:00
data Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
docs Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
logs Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
manual_backup_20260102_103605 Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
manual_backup_20260102_104430 Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
migrations Add migrations for seeding tags and enhancing todo steps 2026-03-20 00:24:58 +01:00
scripts Add migrations for seeding tags and enhancing todo steps 2026-03-20 00:24:58 +01:00
static Add migrations for seeding tags and enhancing todo steps 2026-03-20 00:24:58 +01:00
templates feat: add alert notes functionality with inline and modal display 2026-02-17 12:49:11 +01:00
tests Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
uploads Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
.dockerignore Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
.env.bak Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
.env.bak2 Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
.env.example feat: add SMS service and frontend integration 2026-02-14 02:26:29 +01:00
.env.prod.example Release v2.2.2: sync safety hardening 2026-02-22 03:27:40 +01:00
.gitignore Release v2.2.46: mission schema resilience and repair migration 2026-03-04 07:12:29 +01:00
# GitHub Copilot Instructions - BMC Webs.prompt.md feat: Add reminder system for sag cases with user preferences and notification channels 2026-02-06 10:47:14 +01:00
apply_layout.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
apply_migration_085.py feat(sag): Add Varekøb & Salg module with database migration and frontend template 2026-02-02 20:23:56 +01:00
apply_migration_115.py feat(migrations): add AnyDesk session management and customer wiki slug updates 2026-02-10 14:40:38 +01:00
apply_migration_128.py Refactor opportunities and settings management 2026-02-15 11:12:58 +01:00
apply_migration_129.py Refactor opportunities and settings management 2026-02-15 11:12:58 +01:00
BACKUP_RESTORE_TEST_PLAN.md Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
bmc_hub_dev.code-workspace feat: Add Simply-CRM integration setup documentation and configuration details 2025-12-16 15:36:11 +01:00
compare_schemas.py feat: Add Technician Dashboard V1, V2, and V3 with enhanced UI and functionality 2026-02-17 08:29:05 +01:00
create_test_invoice.py feat: Add Abonnements Matrix feature with e-conomic invoice aggregation 2026-01-25 14:46:00 +01:00
deploy_to_prod.sh feat: Add new time tracking wizard and registrations view 2026-01-10 01:37:08 +01:00
DEPLOYMENT_CHECKLIST.md Release v2.2.2: sync safety hardening 2026-02-22 03:27:40 +01:00
DEVELOPMENT.md Initial BMC Hub setup 2025-12-05 14:22:39 +01:00
docker-compose.prod.yml fix(postgres): use POSTGRES_DB in health checks 2026-03-03 22:37:48 +01:00
docker-compose.yml fix(postgres): use POSTGRES_DB in health checks 2026-03-03 22:37:48 +01:00
docker-compose.yml.bak2 feat: Add template editing functionality and improve file loading logic 2025-12-08 23:46:18 +01:00
docker-compose.yml.bak3 feat: Add template editing functionality and improve file loading logic 2025-12-08 23:46:18 +01:00
Dockerfile fix(docker): preserve downloaded release source during production build 2026-03-03 22:19:26 +01:00
find_ar2_customer.py fix: Lenient filtering for subscription matrix - include all recurring products 2026-01-27 01:33:46 +01:00
fix_cols.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
fix_desc2.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
fix_hero_desc.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
fix_hide_logic2.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
fix_relations_center.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
fix_top.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
Kunder-2.xlsx Add scripts for managing e-conomic customer numbers 2026-01-06 19:59:07 +01:00
LICENSE Initial commit 2025-12-05 14:21:01 +01:00
list_routes.py feat(timetracking): Implement time tracking module with frontend views, HTML templates, and database migrations 2025-12-09 22:46:30 +01:00
LOCATION_MODULE_IMPLEMENTATION_COMPLETE.md Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
main.py Add migrations for seeding tags and enhancing todo steps 2026-03-20 00:24:58 +01:00
MIGRATION_GUIDE_v2.0.0.md feat(migrations): add supplier invoice enhancements for accounting integration 2026-01-07 10:32:41 +01:00
move_time_section.py feat: Add Technician Dashboard V1, V2, and V3 with enhanced UI and functionality 2026-02-17 08:29:05 +01:00
NEXTCLOUD_MODULE_PLAN.md feat(sag): Add Varekøb & Salg module with database migration and frontend template 2026-02-02 20:23:56 +01:00
nohup.out feat: Implement supplier invoices management with e-conomic integration 2025-12-07 03:29:54 +01:00
parse_html.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
parse_test.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
PHASE_3_TASK_3_1_COMPLETE.md Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
PRODUCTION_DEPLOYMENT.md Docs: Update deployment guide with v1.0.3 and inline comment warning 2025-12-17 17:29:09 +01:00
PRODUCTION_QUICK_START.md Release v2.2.2: sync safety hardening 2026-02-22 03:27:40 +01:00
PRODUCTION_SERVER_SETUP.sh Fix: Add build dependencies for psycopg2-binary, update CORS to IP address 2025-12-17 17:21:03 +01:00
QUICK_UPDATE.md Fix: Opdateret guide - download script fra Gitea i stedet for git pull 2025-12-22 13:13:45 +01:00
README.md feat: Add Simply-CRM integration setup documentation and configuration details 2025-12-16 15:36:11 +01:00
refactor_detail.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
RELEASE_NOTES_v1.0.0.md Fix: Add build dependencies for psycopg2-binary, update CORS to IP address 2025-12-17 17:21:03 +01:00
RELEASE_NOTES_v1.3.5.md Feature: Tilføjet /api/v1/settings/sync-from-env endpoint til at synkronisere .env værdier ind i settings database 2025-12-22 11:04:09 +01:00
RELEASE_NOTES_v1.3.75.md feat: Implement SFTP offsite backup functionality (v1.3.75) 2026-01-02 12:35:02 +01:00
RELEASE_NOTES_v1.3.76.md fix: Timetracking wizard approval endpoint (v1.3.76) 2026-01-02 12:45:25 +01:00
RELEASE_NOTES_v1.3.84.md docs: Update deployment instructions for podman 2026-01-02 13:06:19 +01:00
RELEASE_NOTES_v2.0.0.md Release v2.0.0 updates 2026-01-28 08:03:17 +01:00
RELEASE_NOTES_v2.0.1.md Add migration execution feature 2026-01-28 10:25:21 +01:00
RELEASE_NOTES_v2.0.2.md Release v2.0.2 updates 2026-01-28 10:26:22 +01:00
RELEASE_NOTES_v2.0.3.md Release v2.0.3 2026-01-28 10:36:08 +01:00
RELEASE_NOTES_v2.0.4.md Release v2.0.4 2026-01-28 10:41:48 +01:00
RELEASE_NOTES_v2.0.5.md Release v2.0.5 2026-01-28 10:47:29 +01:00
RELEASE_NOTES_v2.0.6.md Release v2.0.6 2026-01-28 10:52:36 +01:00
RELEASE_NOTES_v2.1.0.md Release v2.1.0 2026-01-29 00:36:32 +01:00
RELEASE_NOTES_v2.1.1.md Fix: Migration interface now shows correct Podman commands for production servers 2026-01-29 00:47:40 +01:00
RELEASE_NOTES_v2.2.2.md Release v2.2.2: sync safety hardening 2026-02-22 03:27:40 +01:00
RELEASE_NOTES_v2.2.3.md Release v2.2.3: migration 138 integer compatibility hotfix 2026-02-22 03:35:56 +01:00
RELEASE_NOTES_v2.2.36.md release: v2.2.36 helpdesk sag routing 2026-03-02 23:58:56 +01:00
RELEASE_NOTES_v2.2.39.md feat(mission): add Mission Control MVP with realtime webhooks and fullscreen dashboard 2026-03-03 22:12:05 +01:00
RELEASE_NOTES_v2.2.40.md fix(docker): preserve downloaded release source during production build 2026-03-03 22:19:26 +01:00
RELEASE_NOTES_v2.2.41.md fix(postgres): use POSTGRES_DB in health checks 2026-03-03 22:37:48 +01:00
RELEASE_NOTES_v2.2.42.md Hotfix: Yealink GET webhooks + safer podman deploy checks (v2.2.42) 2026-03-03 23:09:14 +01:00
RELEASE_NOTES_v2.2.43.md Hotfix: add Mission webhook event logging (v2.2.43) 2026-03-03 23:49:24 +01:00
RELEASE_NOTES_v2.2.44.md Hotfix: cleanup legacy v2 containers + auto-expire ringing calls (v2.2.44) 2026-03-04 00:33:12 +01:00
RELEASE_NOTES_v2.2.45.md Add Mission Control navigation and dashboard option (v2.2.45) 2026-03-04 07:11:06 +01:00
RELEASE_NOTES_v2.2.46.md Release v2.2.46: mission schema resilience and repair migration 2026-03-04 07:12:29 +01:00
RELEASE_NOTES_v2.2.47.md Release v2.2.47: webhook GET ping + v2 default API port 2026-03-04 07:22:39 +01:00
RELEASE_NOTES_v2.2.48.md Release v2.2.48: sag sale-item fallback and mission webhook ping fixes 2026-03-04 07:40:18 +01:00
RELEASE_NOTES_v2.2.49.md Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
RELEASE_NOTES_v2.2.50.md Fix: restore case email compose button in sag email tab 2026-03-06 16:11:05 +01:00
RELEASE_NOTES_v2.2.51.md Release v2.2.51: fix user admin actions + archived sync monitor 2026-03-07 02:52:00 +01:00
RELEASE_NOTES_v2.2.52.md Release v2.2.52: harden admin users loading on v2 2026-03-07 03:14:45 +01:00
RELEASE_NOTES_v2.2.53.md release: v2.2.53 notes for email-to-sag phase 1 2026-03-17 21:58:40 +01:00
RELEASE_NOTES_v2.2.54.md feat(email): add deadline and enhanced company search in email-to-sag flow 2026-03-17 22:08:05 +01:00
RELEASE_NOTES_v2.2.56.md release: v2.2.56 email layout + supplier invoice stabilization 2026-03-18 07:14:28 +01:00
RELEASE_NOTES_v2.2.57.md release: v2.2.57 email+sag tab stability 2026-03-18 07:33:32 +01:00
RELEASE_NOTES_v2.2.58.md release: v2.2.58 sag tab top-position UX 2026-03-18 08:36:54 +01:00
RELEASE_NOTES_v2.2.59.md release: v2.2.59 robust sag tab content scrolling 2026-03-18 08:57:29 +01:00
RELEASE_NOTES_v2.2.60.md release: v2.2.60 enforce active sag tab top view 2026-03-18 09:29:57 +01:00
RELEASE_NOTES_v2.2.61.md Fix SAG tab pane top rendering fallback 2026-03-18 09:46:33 +01:00
RELEASE_NOTES_v2.2.62.md Fix SAG detail right column nesting 2026-03-18 09:58:31 +01:00
RELEASE_NOTES_v2.2.63.md Fix QuickCreate AI request payload 2026-03-18 10:25:47 +01:00
RELEASE_NOTES_v2.2.64.md Add QuickCreate heuristic fallback when AI unavailable 2026-03-18 10:29:45 +01:00
REMINDER_SYSTEM_IMPLEMENTATION.md feat: Add reminder system for sag cases with user preferences and notification channels 2026-02-06 10:47:14 +01:00
REMINDER_SYSTEM_QUICKSTART.md feat: Add reminder system for sag cases with user preferences and notification channels 2026-02-06 10:47:14 +01:00
requirements.txt fix: add pdfplumber to requirements v2.2.22 2026-03-02 08:44:23 +01:00
rewrite_detail.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
run_migration.py feat(migrations): add AnyDesk session management and customer wiki slug updates 2026-02-10 14:40:38 +01:00
run_rewrite.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
SAG_MODULE_COMPLETION_REPORT.md Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
SAG_MODULE_IMPLEMENTATION_PLAN.md Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
SAG_MODULE_PLAN.md feat: Implement ESET integration for hardware management 2026-02-11 13:23:32 +01:00
SALES_AND_AGGREGATION_PLAN.md feat: Enhance contact management and user/group functionalities 2026-02-03 15:37:16 +01:00
search_all_ar2.py fix: Lenient filtering for subscription matrix - include all recurring products 2026-01-27 01:33:46 +01:00
SERVICE_CONTRACT_WIZARD_README.md feat(migrations): add AnyDesk session management and customer wiki slug updates 2026-02-10 14:40:38 +01:00
split_cols.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
TEMPLATE_IMPLEMENTATION_SUMMARY.md Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
TEMPLATES_FINAL_VERIFICATION.md Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
TEMPLATES_QUICK_REFERENCE.md Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
test_ai_analyze.py feat: Enhance billing frontend with Jinja2 templates and improve invoice handling 2025-12-08 09:15:52 +01:00
test_billed_field.py feat: Implement tracking of billed Hub order ID for time entries and update related services 2026-01-08 18:57:04 +01:00
test_bulk_customer_update.py Feature: Bulk customer hourly rate updates (v1.3.52) 2025-12-23 14:31:10 +01:00
test_contact_relation.py Refactor Sager module templates and functionality 2026-02-01 11:58:44 +01:00
test_cvr_filter.py feat: Enhance billing frontend with Jinja2 templates and improve invoice handling 2025-12-08 09:15:52 +01:00
test_location_module_qa.py Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
test_quick_analysis.py feat: Implement quick analysis on PDF upload for CVR, document type, and number extraction 2025-12-09 14:54:33 +01:00
test_routes.py feat(timetracking): Implement time tracking module with frontend views, HTML templates, and database migrations 2025-12-09 22:46:30 +01:00
test_sag_new_endpoints.sh Add tests for new SAG module endpoints and module deactivation 2026-01-31 23:16:24 +01:00
test_sag_query.py Refactor Sager module templates and functionality 2026-02-01 11:58:44 +01:00
test_service_contract_wizard.py feat(migrations): add AnyDesk session management and customer wiki slug updates 2026-02-10 14:40:38 +01:00
test_sftp.py Add SFTP connection and file management script 2026-01-02 12:52:47 +01:00
test_subscription_processing.py feat: Add Technician Dashboard V1, V2, and V3 with enhanced UI and functionality 2026-02-17 08:29:05 +01:00
test_subscription_singular.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
test_subscriptions.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
test_ticket_module.py feat(ticket-module): Implement ticket system with comprehensive database schema, permissions, and testing suite 2025-12-15 23:40:23 +01:00
test_vtiger_account.py feat: Implement tracking of billed Hub order ID for time entries and update related services 2026-01-08 18:57:04 +01:00
test_vtiger_accounts.py v1.3.64 - Redesigned sync architecture with clear field ownership 2025-12-24 10:34:13 +01:00
test_vtiger_contact.py v1.3.64 - Redesigned sync architecture with clear field ownership 2025-12-24 10:34:13 +01:00
test_vtiger_fields.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
test_vtiger_modules.py feat: Implement vTiger integration for subscriptions and sales orders 2025-12-11 23:14:20 +01:00
test_wrapper2.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
test_wrapper.py Release v2.2.49: sag relation tree UX, type dropdown, 12x quick-action modals, email service 2026-03-05 08:41:59 +01:00
updateto.sh Fix: force --no-cache on release builds; uvicorn workers=2 + keepalive 2026-03-05 09:00:57 +01:00
VERSION Release v2.2.52: harden admin users loading on v2 2026-03-07 03:14:45 +01:00

BMC Hub 🚀

Et centralt management system til BMC Networks - håndterer kunder, services, hardware og billing.

Baseret på OmniSync arkitektur med Python + PostgreSQL

🌟 Features

  • Customer Management: Komplet kundedatabase med CRM integration
  • Hardware Tracking: Registrering og sporing af kundeudstyr
  • Service Management: Håndtering af services og abonnementer
  • Billing Integration: Automatisk fakturering via e-conomic
  • REST API: FastAPI med OpenAPI dokumentation
  • Web UI: Responsive Bootstrap 5 interface
  • PostgreSQL: Production-ready database
  • Docker: Container deployment med version control

📚 Quick Start

Lokal Udvikling

# 1. Clone repository
git clone git@g.bmcnetworks.dk:ct/bmc_hub.git
cd bmc_hub

# 2. Kopier og rediger .env
cp .env.example .env
nano .env  # Tilføj dine credentials

# 3. Start med Docker Compose
docker-compose up -d

# 4. Åbn browser
open http://localhost:8001/api/docs  # API docs
open http://localhost:8001            # Web UI

Standard ports (for at undgå konflikter):

  • API: 8001 (mapped til container port 8000)
  • PostgreSQL: 5433 (mapped til container port 5432)

Note: Auto-reload er deaktiveret som standard for at undgå log spam. Når du ændrer kode, skal du genstarte containeren:

docker-compose restart api

Hvis du ønsker live reload (med potentiel log spam), sæt ENABLE_RELOAD=true i .env.

Live Deployment

# På serveren
cd /opt
git clone git@g.bmcnetworks.dk:ct/bmc_hub.git
cd bmc_hub

# Setup environment
cp .env.prod.example .env
nano .env  # Udfyld credentials og version tag

# Deploy
docker-compose -f docker-compose.prod.yml up -d

🛠️ Deployment Commands

Lokal Development

docker-compose up -d        # Start systemet
docker-compose logs -f      # Se logs
docker-compose down         # Stop systemet

Production

docker-compose -f docker-compose.prod.yml up -d    # Start
docker-compose -f docker-compose.prod.yml pull     # Update til ny version
docker-compose -f docker-compose.prod.yml restart  # Restart

📋 Krav

Development

  • Docker Desktop eller Podman
  • Git

Production

  • Docker eller Podman
  • PostgreSQL (via container)
  • Nginx reverse proxy
  • SSL certifikat

🏗️ Projekt Struktur

bmc_hub/
├── app/
│   ├── core/
│   │   ├── config.py          # Konfiguration
│   │   └── database.py        # PostgreSQL helpers
│   ├── models/
│   │   └── schemas.py         # Pydantic models
│   ├── routers/
│   │   ├── customers.py       # Customer CRUD
│   │   ├── hardware.py        # Hardware management
│   │   └── billing.py         # Billing endpoints
│   ├── services/
│   │   └── economic.py        # e-conomic integration
│   └── jobs/
│       └── sync_job.py        # Scheduled jobs
├── static/
│   └── index.html             # Dashboard UI
├── migrations/                 # Database migrations
├── docker-compose.yml          # Local development
├── docker-compose.prod.yml     # Production deployment
├── Dockerfile                  # Docker image
├── requirements.txt            # Python dependencies
├── .env.example                # Environment template (local)
├── .env.prod.example           # Environment template (production)
└── main.py                     # FastAPI application

🔌 API Endpoints

  • GET /api/v1/customers - List customers
  • GET /api/v1/hardware - List hardware
  • GET /api/v1/billing/invoices - List invoices
  • GET /health - Health check

Se fuld dokumentation: http://localhost:8000/api/docs

🧪 Testing

# Install test dependencies
pip install pytest pytest-cov

# Run tests
pytest

# Run with coverage
pytest --cov=app

📄 License

MIT License

📞 Support


Made with ❤️ by BMC Networks