feat: configurable vehicle compatibility source (TecDoc / QWEN / Both)
Backend: - Added GET/PUT /pos/api/config/vehicle-compat-source endpoints - Added get_compat_source() helper reading from tenant_config - create_item() now respects config: runs TecDoc and/or QWEN accordingly - auto_match_item_vehicles() respects config: runs only configured source Frontend: - Added 'Compatibilidad de Vehiculos' section in config.html - Added loadVehicleCompatSource() / saveVehicleCompatSource() in config.js - Regenerated config.min.js
This commit is contained in:
@@ -409,3 +409,45 @@ def upgrade_billing():
|
||||
if 'error' in result:
|
||||
return jsonify(result), 400
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
# ─── Vehicle Compatibility Source ────────────────────
|
||||
|
||||
@config_bp.route('/vehicle-compat-source', methods=['GET'])
|
||||
@require_auth()
|
||||
def get_vehicle_compat_source():
|
||||
"""Get the configured vehicle compatibility source.
|
||||
|
||||
Returns: {'source': 'tecdoc' | 'qwen' | 'both'}
|
||||
"""
|
||||
conn = get_tenant_conn(g.tenant_id)
|
||||
cur = conn.cursor()
|
||||
cur.execute("SELECT value FROM tenant_config WHERE key = 'vehicle_compat_source'")
|
||||
row = cur.fetchone()
|
||||
cur.close()
|
||||
conn.close()
|
||||
source = row[0] if row else 'both'
|
||||
if source not in ('tecdoc', 'qwen', 'both'):
|
||||
source = 'both'
|
||||
return jsonify({'source': source})
|
||||
|
||||
|
||||
@config_bp.route('/vehicle-compat-source', methods=['PUT'])
|
||||
@require_auth('config.edit')
|
||||
def update_vehicle_compat_source():
|
||||
"""Set the vehicle compatibility source."""
|
||||
data = request.get_json() or {}
|
||||
source = data.get('source', 'both')
|
||||
if source not in ('tecdoc', 'qwen', 'both'):
|
||||
return jsonify({'error': 'source must be tecdoc, qwen, or both'}), 400
|
||||
|
||||
conn = get_tenant_conn(g.tenant_id)
|
||||
cur = conn.cursor()
|
||||
cur.execute("""
|
||||
INSERT INTO tenant_config (key, value) VALUES ('vehicle_compat_source', %s)
|
||||
ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value
|
||||
""", (source,))
|
||||
conn.commit()
|
||||
cur.close()
|
||||
conn.close()
|
||||
return jsonify({'message': 'Vehicle compatibility source updated', 'source': source})
|
||||
|
||||
Reference in New Issue
Block a user