From 88864fc25a03c0de8b35f3e8e3d1fb3d568a7dc4 Mon Sep 17 00:00:00 2001
From: s3lph <account-gitlab-ideynizv@kernelpanic.lol>
Date: Wed, 26 Jan 2022 00:43:12 +0100
Subject: [PATCH] mailman-web: Override static files as well as templates

---
 roles/mailman/defaults/main.yml   |  1 +
 roles/mailman/tasks/templates.yml | 30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/roles/mailman/defaults/main.yml b/roles/mailman/defaults/main.yml
index 82317ca..515028c 100644
--- a/roles/mailman/defaults/main.yml
+++ b/roles/mailman/defaults/main.yml
@@ -118,5 +118,6 @@ mailman_superuser_name: root
 
 mailman_web_override_templates: no
 mailman_web_override_templates_path: "{{ playbook_dir }}/templates/override"
+mailman_web_override_static_path: "{{ playbook_dir }}/static/override"
 mailman_web_hyperkitty_cleanup_cron: '0 * * * *'
 mailman_web_privacy_enhancements: no
diff --git a/roles/mailman/tasks/templates.yml b/roles/mailman/tasks/templates.yml
index c4ba6de..44f6052 100644
--- a/roles/mailman/tasks/templates.yml
+++ b/roles/mailman/tasks/templates.yml
@@ -29,3 +29,33 @@
   when: "item.state != 'directory'"
   with_filetree: "{{ mailman_web_override_templates_path }}"
   notify: restart mailman3-web
+
+- name: create /var/lib/mailman3/web/static
+  ansible.builtin.file:
+    path: /var/lib/mailman3/web/static
+    state: directory
+    owner: www-data
+    group: www-data
+    mode: 0755
+
+- name: create static override directories
+  ansible.builtin.file:
+    path: "/var/lib/mailman3/web/static/{{ item.path }}"
+    owner: www-data
+    group: www-data
+    mode: 0755
+    recurse: yes
+  when: "item.state == 'directory'"
+  with_filetree: "{{ mailman_web_override_static_path }}"
+  notify: restart mailman3-web
+
+- name: render static overrides
+  ansible.builtin.copy:
+    src: "{{ item.root }}/{{ item.path }}"
+    dest: "/var/lib/mailman3/web/static/{{ item.path }}"
+    owner: www-data
+    group: www-data
+    mode: 0644
+  when: "item.state != 'directory'"
+  with_filetree: "{{ mailman_web_override_static_path }}"
+  notify: restart mailman3-web