Oleada B: fusion Expedientes en Pacientes (+chip sin visita 6m), sidebar colapsable SKEEN, edicion completa de citas, autocompletado de paciente, bloqueos excluidos de slots
This commit is contained in:
@@ -647,10 +647,11 @@ class SkeenFrontendController(http.Controller):
|
||||
try:
|
||||
date_str = kw.get('date')
|
||||
servicio_id = int(kw.get('servicio_id', 0))
|
||||
doctor_id = int(kw.get('doctor_id', 0)) if kw.get('doctor_id') else None
|
||||
if not date_str or not servicio_id:
|
||||
return json_response({'status': 'error', 'message': 'Falta date o servicio_id'}, 400)
|
||||
d = datetime.strptime(date_str, '%Y-%m-%d').date()
|
||||
slots = request.env['skeen.cita'].sudo().get_available_slots(d, servicio_id)
|
||||
slots = request.env['skeen.cita'].sudo().get_available_slots(d, servicio_id, doctor_id=doctor_id)
|
||||
return json_response({'status': 'success', 'slots': slots})
|
||||
except Exception as e:
|
||||
return json_response({'status': 'error', 'message': str(e)}, 500)
|
||||
@@ -1085,6 +1086,10 @@ class SkeenFrontendController(http.Controller):
|
||||
if kw.get('recent') == '1':
|
||||
seis_meses = (date.today() - timedelta(days=183)).strftime('%Y-%m-%d')
|
||||
domain.append(('last_visit', '>=', seis_meses))
|
||||
elif kw.get('recent') == '0':
|
||||
# Sin visita en los últimos 6 meses (incluye sin visita registrada)
|
||||
seis_meses = (date.today() - timedelta(days=183)).strftime('%Y-%m-%d')
|
||||
domain += ['|', ('last_visit', '=', False), ('last_visit', '<', seis_meses)]
|
||||
page = max(int(kw.get('page', 1) or 1), 1)
|
||||
page_size = min(max(int(kw.get('page_size', 50) or 50), 1), 200)
|
||||
Pacientes = request.env['res.partner'].sudo()
|
||||
|
||||
Reference in New Issue
Block a user