---
# Create or update Odoo administrator user
- name: "π Check if administrator user exists"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/select/administrator-user-exists.sql"
named_args:
login: "{{ ODOO_ADMINISTRATOR_USERNAME }}"
expect_rows: true
register: admin_check
- name: "π Update the existing administrator user"
when: admin_check.rows | length > 0
block:
- name: "π Update administrator user password and email"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/update/administrator/user-password.sql"
named_args:
password: "{{ ODOO_ADMINISTRATOR_PASSWORD }}"
login: "{{ ODOO_ADMINISTRATOR_USERNAME }}"
- name: "π Update administrator partner email"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/update/administrator/partner-email.sql"
named_args:
email: "{{ ODOO_ADMINISTRATOR_EMAIL }}"
login: "{{ ODOO_ADMINISTRATOR_USERNAME }}"
- name: "π Repurpose the default admin when no administrator exists"
when: admin_check.rows | length == 0
block:
- name: "π Update default admin user credentials (user id 2)"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/update/default-admin/user-credentials.sql"
named_args:
login: "{{ ODOO_ADMINISTRATOR_USERNAME }}"
password: "{{ ODOO_ADMINISTRATOR_PASSWORD }}"
- name: "π Update default admin partner details"
database_query:
mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
config: "{{ lookup('database', application_id) }}"
query_file: "{{ role_path }}/files/sql/update/default-admin/partner-details.sql"
named_args:
email: "{{ ODOO_ADMINISTRATOR_EMAIL }}"
name: "{{ ODOO_ADMINISTRATOR_USERNAME }}"