aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sympa/manifests/list.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/sympa/manifests/list.pp')
-rw-r--r--modules/sympa/manifests/list.pp41
1 files changed, 18 insertions, 23 deletions
diff --git a/modules/sympa/manifests/list.pp b/modules/sympa/manifests/list.pp
index 4e265f31..205d2719 100644
--- a/modules/sympa/manifests/list.pp
+++ b/modules/sympa/manifests/list.pp
@@ -1,38 +1,33 @@
define sympa::list( $subject,
- $profile = false,
$language = 'en',
$topics = false,
$reply_to = false,
+ $sender_subscriber = false,
$sender_email = false,
$sender_ldap_group = false,
$subscriber_ldap_group = false,
$public_archive = true,
- $subscription_open = false) {
+ $subscription_open = false,
+ $critical = false) {
include sympa::variable
$ldap_password = extlookup('sympa_ldap','x')
$custom_subject = $name
- $xml_file = "/etc/sympa/lists_xml/$name.xml"
-
- if $sender_email {
- $sender_email_file = regsubst($sender_email,'\@','-at-')
- } else {
- $sender_email_file = ''
- }
+ $xml_file = "/etc/sympa/lists_xml/${name}.xml"
file { $xml_file:
content => template('sympa/list.xml'),
require => Package[sympa],
}
- exec { "sympa.pl --create_list --robot=$sympa::variable::vhost --input_file=$xml_file":
+ exec { "sympa.pl --create_list --robot=${sympa::variable::vhost} --input_file=${xml_file}":
require => File[$xml_file],
- creates => "/var/lib/sympa/expl/$name",
- before => File["/var/lib/sympa/expl/$name/config"],
+ creates => "/var/lib/sympa/expl/${name}",
+ before => File["/var/lib/sympa/expl/${name}/config"],
}
- file { "/var/lib/sympa/expl/$name/config":
+ file { "/var/lib/sympa/expl/${name}/config":
owner => 'sympa',
group => 'sympa',
mode => '0750',
@@ -40,16 +35,10 @@ define sympa::list( $subject,
notify => Service['sympa'],
}
- if $sender_ldap_group {
- if ! defined(Sympa::Scenario::Sender_ldap_group[$sender_ldap_group]) {
- sympa::scenario::sender_ldap_group { $sender_ldap_group: }
- }
- }
-
- if $sender_email {
- if ! defined(Sympa::Scenario::Sender_email[$sender_email]) {
- sympa::scenario::sender_email { $sender_email: }
- }
+ sympa::scenario::sender_restricted { $name:
+ ldap_group => $sender_ldap_group,
+ email => $sender_email,
+ allow_subscriber => $sender_subscriber,
}
if $subscriber_ldap_group {
@@ -57,6 +46,12 @@ define sympa::list( $subject,
sympa::search_filter::ldap { $subscriber_ldap_group: }
}
}
+
+ if $sender_ldap_group {
+ if ! defined(Sympa::Search_filter::Ldap[$sender_ldap_group]) {
+ sympa::search_filter::ldap { $sender_ldap_group: }
+ }
+ }
}