provisioning: alinear packs de demo con los del backend (clinica/spa/estetica/dental/custom)
This commit is contained in:
@@ -32,7 +32,7 @@ import traceback
|
||||
# (nombre, precio, duración_min, categoría) por giro. La categoría usa la
|
||||
# selección de skeen.servicio: consulta | tratamiento | procedimiento | paquete.
|
||||
PACKS = {
|
||||
'generico': [
|
||||
'custom': [
|
||||
('Consulta general', 600, 30, 'consulta'),
|
||||
('Consulta de seguimiento', 450, 30, 'consulta'),
|
||||
('Tratamiento básico', 800, 45, 'tratamiento'),
|
||||
@@ -68,7 +68,7 @@ PACKS = {
|
||||
('Valoración preoperatoria', 1100, 45, 'consulta'),
|
||||
('Paquete 10 terapias', 6500, 50, 'paquete'),
|
||||
],
|
||||
'derma': [
|
||||
'dental': [
|
||||
('Consulta dermatológica', 900, 30, 'consulta'),
|
||||
('Consulta de seguimiento', 600, 20, 'consulta'),
|
||||
('Limpieza facial profunda', 950, 50, 'tratamiento'),
|
||||
@@ -82,6 +82,9 @@ PACKS = {
|
||||
],
|
||||
}
|
||||
|
||||
# 'estetica' comparte el set del spa (mismo perfil de servicios) para el demo.
|
||||
PACKS['estetica'] = PACKS['spa']
|
||||
|
||||
DEMO_PATIENTS = [
|
||||
('Ana López Márquez', '6681230001', 'F'), ('Carlos Ruiz Peña', '6681230002', 'M'),
|
||||
('María Fernanda Soto', '6681230003', 'F'), ('Jorge Alberto Nava', '6681230004', 'M'),
|
||||
@@ -191,7 +194,7 @@ def seed_glossary(env, ICP, cfg, report):
|
||||
- llave ir.config_parameter 'skeen.glosario' ya existe -> se actualiza;
|
||||
- modelo 'skeen.glosario' existe -> se crea/actualiza un registro;
|
||||
- ninguno de los dos existe -> TODO (no aborta)."""
|
||||
pack = cfg.get('pack') or 'generico'
|
||||
pack = cfg.get('pack') or 'clinica'
|
||||
raw = ICP.get_param('skeen.glosario')
|
||||
if raw is not None:
|
||||
try:
|
||||
@@ -264,11 +267,11 @@ def seed_service_category(env, cfg, report):
|
||||
if not has_model(env, 'skeen.service.category'):
|
||||
report['todo'].append(
|
||||
"skeen.service.category: modelo ausente; cuando exista, sembrar la "
|
||||
"semilla de categorías del pack '%s'" % (cfg.get('pack') or 'generico'))
|
||||
"semilla de categorías del pack '%s'" % (cfg.get('pack') or 'clinica'))
|
||||
return
|
||||
Model = env['skeen.service.category'].sudo()
|
||||
cats = []
|
||||
for _n, _p, _d, cat in PACKS.get(cfg.get('pack') or 'generico', PACKS['generico']):
|
||||
for _n, _p, _d, cat in PACKS.get(cfg.get('pack') or 'clinica', PACKS['clinica']):
|
||||
if cat not in cats:
|
||||
cats.append(cat)
|
||||
created = 0
|
||||
@@ -292,7 +295,7 @@ def _mark(env, model, field, value, ids):
|
||||
|
||||
|
||||
def seed_demo(env, cfg, report):
|
||||
pack = PACKS.get(cfg.get('pack') or 'generico', PACKS['generico'])
|
||||
pack = PACKS.get(cfg.get('pack') or 'clinica', PACKS['clinica'])
|
||||
today = datetime.date.today()
|
||||
week_start = today - datetime.timedelta(days=today.weekday())
|
||||
ids = {'servicio': [], 'paciente': [], 'empleado': [], 'cita': [],
|
||||
|
||||
@@ -48,7 +48,7 @@ NGINX_AVAILABLE = '/etc/nginx/sites-available'
|
||||
NGINX_ENABLED = '/etc/nginx/sites-enabled'
|
||||
SYSTEMD_DIR = '/etc/systemd/system'
|
||||
REFERENCE_DB = 'skeen_odoo' # de aquí se toma la lista de módulos skeen
|
||||
DEFAULT_PACK = 'generico'
|
||||
DEFAULT_PACK = 'clinica'
|
||||
SLUG_RE = re.compile(r'^[a-z0-9-]+$')
|
||||
DB_RE = re.compile(r'^[a-z0-9_]+$')
|
||||
|
||||
@@ -157,7 +157,7 @@ def parse_args(argv=None):
|
||||
help='rol PostgreSQL (default <slug>: rol propio con '
|
||||
'password nueva; usar "skeen" para el rol compartido)')
|
||||
ap.add_argument('--pack', default=DEFAULT_PACK,
|
||||
choices=['generico', 'spa', 'clinica', 'derma'],
|
||||
choices=['clinica', 'spa', 'estetica', 'dental', 'custom'],
|
||||
help='giro para glosario y datos demo')
|
||||
ap.add_argument('--demo', action='store_true', help='sembrar datos demo')
|
||||
ap.add_argument('--demo-limpia', action='store_true',
|
||||
|
||||
Reference in New Issue
Block a user