X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/4a99ae87e0f7fdd07d8820a724fbed1d8b2b5f36..13767cc69697b7eaf4be6e47788efe636b56b6fd:/lib/nos_oignons/mailman.rb?ds=sidebyside diff --git a/lib/nos_oignons/mailman.rb b/lib/nos_oignons/mailman.rb index 501b542..9c0d590 100644 --- a/lib/nos_oignons/mailman.rb +++ b/lib/nos_oignons/mailman.rb @@ -6,7 +6,7 @@ module NosOignons module Mailman class << self def list_members(list) - `list_members #{Shellwords.escape(list)}`.split + `sudo -u list list_members #{Shellwords.escape(list)}`.strip.split end def add_member(list, email) @@ -14,8 +14,23 @@ module NosOignons end def add_members(list, emails) - # XXX IO.popen - `add_members #{Shellwords.escape(list)}`.split + IO.popen(['sudo', '-u', 'list', 'add_members', '-r', '-', list], 'w') do |io| + emails.each do |email| + io.puts email + end + end + end + + def remove_member(list, email) + remove_members(list, [email]) + end + + def remove_members(list, emails) + IO.popen(['sudo', '-u', 'list', 'remove_members', '-f', '-', list], 'w') do |io| + emails.each do |email| + io.puts email + end + end end end end