04_admin.ymlΒΆ

---
# 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 }}"