Files
quality_app-v2/app/templates/modules/settings/general.html
Quality App Developer d5b043c762 Fix Docker build and add labels test data
- Fix Docker build issues:
  * Add missing system dependencies (build-essential, python3-dev, libpq-dev)
  * Fix requirements.txt formatting (separate Flask-Session and openpyxl)
  * Update openpyxl version to 3.1.5 (3.10.0 was invalid)
- Set proper folder permissions for Docker write access (app/ and data/)
- Add comprehensive test data for labels module:
  * 8 sample orders (TEST-ORD-001 through TEST-ORD-008)
  * Mix of printed/unprinted orders for testing
  * Various product types, customers, and delivery dates
  * Ready for QZ Tray printing functionality testing
- Include test data generation scripts for future use
- Application now fully containerized and ready for labels/printing testing
2026-02-15 12:05:20 +02:00

84 lines
4.3 KiB
HTML
Executable File

{% extends "base.html" %}
{% block title %}General Settings{% endblock %}
{% block content %}
<div class="container-fluid py-5">
<div class="row mb-4">
<div class="col-12">
<h1 class="mb-2">
<i class="fas fa-sliders-h"></i> General Settings
</h1>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="list-group">
<a href="{{ url_for('settings.general_settings') }}" class="list-group-item list-group-item-action active">
<i class="fas fa-sliders-h"></i> General Settings
</a>
<a href="{{ url_for('settings.user_management') }}" class="list-group-item list-group-item-action">
<i class="fas fa-users"></i> User Management
</a>
<a href="{{ url_for('settings.app_keys') }}" class="list-group-item list-group-item-action">
<i class="fas fa-key"></i> App Keys
</a>
<a href="{{ url_for('settings.database_management') }}" class="list-group-item list-group-item-action">
<i class="fas fa-cogs"></i> Database Management
</a>
<a href="{{ url_for('settings.database_settings') }}" class="list-group-item list-group-item-action">
<i class="fas fa-database"></i> Database Info
</a>
<a href="{{ url_for('settings.logs_explorer') }}" class="list-group-item list-group-item-action">
<i class="fas fa-file-alt"></i> Logs Explorer
</a>
</div>
</div>
<div class="col-md-9">
<div class="card shadow-sm">
<div class="card-header bg-light">
<h5 class="mb-0">General Application Settings</h5>
</div>
<div class="card-body">
{% if error %}
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<i class="fas fa-exclamation-circle"></i> {{ error }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
{% if success %}
<div class="alert alert-success alert-dismissible fade show" role="alert">
<i class="fas fa-check-circle"></i> {{ success }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
<form method="POST" action="{{ url_for('settings.general_settings') }}">
<div class="mb-3">
<label for="app_name" class="form-label">Application Name <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="app_name" name="app_name" value="{{ app_name }}" required>
<small class="form-text text-muted">This name appears in the header and browser title</small>
</div>
<div class="mb-3">
<label for="app_version" class="form-label">Version</label>
<input type="text" class="form-control" id="app_version" name="app_version" value="{{ app_version }}" disabled>
<small class="form-text text-muted">Version cannot be changed</small>
</div>
<div class="mb-3">
<label for="session_timeout" class="form-label">Session Timeout (minutes)</label>
<input type="number" class="form-control" id="session_timeout" name="session_timeout" value="{{ session_timeout }}" min="1" required>
<small class="form-text text-muted">Time before user session expires</small>
</div>
<button type="submit" class="btn btn-primary">
<i class="fas fa-save"></i> Save Settings
</button>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}