#!/bin/sh
# Install or upgrade so_helpdesk and grant agent access to internal users.
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

STATE=$(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)
    print(mod.state or 'uninstalled')
PY
)

if [ "$STATE" = "installed" ]; then
  echo "Upgrading so_helpdesk ..."
  odoo -c "$CONF" -d odoo --stop-after-init -u so_helpdesk
else
  echo "Installing so_helpdesk ..."
  odoo -c "$CONF" -d odoo --stop-after-init -i so_helpdesk
fi

/bin/sh "$(dirname "$0")/grant_access.sh"
