#!/bin/sh
# Grant helpdesk agent group to all active internal users (idempotent).
set -e
CONF=/tmp/odoo.runtime.conf
cat /etc/odoo/odoo.conf > "$CONF"
if [ -n "$SODOO_ADMIN_PASSWORD" ]; then
  echo "admin_passwd = $SODOO_ADMIN_PASSWORD" >> "$CONF"
fi
if [ -n "$SODOO_DB_PASSWORD" ]; then
  echo "db_password = $SODOO_DB_PASSWORD" >> "$CONF"
fi

python3 <<PY
import odoo
from odoo.tools import config
config.parse_config(['-c', '${CONF}', '-d', 'odoo', '--no-http'])
registry = odoo.registry('odoo')
with registry.cursor() as cr:
    env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
    mod = env['ir.module.module'].search([('name', '=', 'so_helpdesk')], limit=1)
    if mod.state != 'installed':
        print('so_helpdesk not installed — skipping access grant.')
    else:
        agent = env.ref('so_helpdesk.group_helpdesk_agent')
        users = env['res.users'].search([('share', '=', False), ('active', '=', True)])
        agent.write({'users': [(4, user.id) for user in users]})
        cr.commit()
        print('Granted helpdesk agent access to', len(users), 'internal users.')
PY
