fix(builder): disable cache and normalize restaurante default template

This commit is contained in:
komkida91
2026-03-03 10:48:28 +01:00
parent 9cccbab1c8
commit cdebdf9ddf
2 changed files with 34 additions and 12 deletions

View File

@@ -1,4 +1,4 @@
from flask import Blueprint, render_template, session, request, jsonify
from flask import Blueprint, render_template, session, request, jsonify, make_response
import json
from db import get_db
from utils.theme_engine import get_theme_config
@@ -13,7 +13,7 @@ elementor_bp = Blueprint(
)
def _render_builder(site_id, builder_mode='default', **_kwargs):
def _render_builder(site_id, builder_mode='default', preview_only=False, **_kwargs):
conn = get_db()
c = conn.cursor()
c.execute('SELECT user_id, slug, theme, content_json FROM sites WHERE id = ?', (site_id,))
@@ -40,7 +40,7 @@ def _render_builder(site_id, builder_mode='default', **_kwargs):
user_plan = user_data[0] if user_data else 'base'
user_rubro = user_data[1] if user_data else 'restaurante'
return render_template(
html = render_template(
'elementor_builder.html',
site_id=site_id,
slug=site[1],
@@ -49,8 +49,15 @@ def _render_builder(site_id, builder_mode='default', **_kwargs):
theme_config=theme_config,
user_plan=user_plan,
rubro=user_rubro,
builder_mode=builder_mode
builder_mode=builder_mode,
preview_only=bool(preview_only)
)
response = make_response(html)
# Dynamic builder output should never be cached.
response.headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0'
response.headers['Pragma'] = 'no-cache'
response.headers['Expires'] = '0'
return response
@elementor_bp.route('/elementor/<int:site_id>')
@@ -58,11 +65,21 @@ def elementor_view(site_id):
return _render_builder(site_id, builder_mode='default')
@elementor_bp.route('/elementor/<int:site_id>/preview-final')
def elementor_preview_final(site_id):
return _render_builder(site_id, builder_mode='default', preview_only=True)
@elementor_bp.route('/ub24/<int:site_id>')
def ub24_view(site_id):
return _render_builder(site_id, builder_mode='ub24')
@elementor_bp.route('/ub24/<int:site_id>/preview-final')
def ub24_preview_final(site_id):
return _render_builder(site_id, builder_mode='ub24', preview_only=True)
@elementor_bp.route('/api/elementor/save', methods=['POST'])
def save_elementor():
data = request.get_json(silent=True) or {}
@@ -103,4 +120,9 @@ def save_elementor():
conn.commit()
conn.close()
return jsonify({'success': True, 'published': publish})
response = jsonify({'success': True, 'published': publish})
response.headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0'
response.headers['Pragma'] = 'no-cache'
response.headers['Expires'] = '0'
return response