diff --git a/lam/HISTORY b/lam/HISTORY index 8188ee61..dba2912f 100644 --- a/lam/HISTORY +++ b/lam/HISTORY @@ -2,7 +2,10 @@ September 2016 - Windows: allow to show effective members of a group - LAM Pro: -> Group of names/members + roles: allow to show effective members of a group - -> Cron jobs: Move or delete expired accounts (Shadow, Windows, qmail, FreeRadius) + -> Cron jobs: + * Move or delete expired accounts (Shadow, Windows, qmail, FreeRadius) + * 389ds: added job to notify before password expires + -> 389ds: manage password expiration time with module "Account locking" 21.06.2016 5.4 diff --git a/lam/docs/manual-sources/howto.xml b/lam/docs/manual-sources/howto.xml index 4b693ae1..20f471ed 100644 --- a/lam/docs/manual-sources/howto.xml +++ b/lam/docs/manual-sources/howto.xml @@ -2131,6 +2131,99 @@ mysql> GRANT ALL PRIVILEGES ON lam_cron.* TO 'lam_cron'@'localhost'; "2016-12-31". +
+ 389ds: Notify users about password expiration + + This will send your users an email reminder before their + password expires. + + You need to activate the Account Locking module for users to + be able to add this job. The job can be added multiple times (e.g. + to send a second warning at a later time). + + LAM calculates the expiration date based on the attribute + passwordExpirationTime. + + + + + + + + + + + Options + + + + + Option + + Description + + + + From address + + The email address to set as FROM. + + + + Reply-to address + + Optional Reply-to address for email. + + + + CC address + + Optional CC mail address. + + + + BCC address + + Optional BCC mail address. + + + + Subject + + The email subject line. Supports wildcards, see + below. + + + + Text + + The email body text. Supports wildcards, see + below. + + + + Notification period + + Number of days to notify before password + expires. + + + +
+ + Wildcards: + + You can enter LDAP attributes as wildcards in the form + @@ATTRIBUTE_NAME@@. E.g. to add the user's common name use "@@cn@@". + For the common name it would be "@@cn@@". + + There are also two special wildcards for the expiration date. + @@EXPIRE_DATE_DDMMYYYY@@ will print the date as e.g. "31.12.2016". + @@EXPIRE_DATE_YYYYMMDD@@ will print the date as e.g. + "2016-12-31". +
+
Shadow: Notify users about password expiration diff --git a/lam/docs/manual-sources/images/jobs_389dsPasswordMail1.png b/lam/docs/manual-sources/images/jobs_389dsPasswordMail1.png new file mode 100644 index 00000000..d069d824 Binary files /dev/null and b/lam/docs/manual-sources/images/jobs_389dsPasswordMail1.png differ diff --git a/lam/help/help.inc b/lam/help/help.inc index 15051ba7..91fcfdbc 100644 --- a/lam/help/help.inc +++ b/lam/help/help.inc @@ -320,6 +320,7 @@ $helpArray = array ( "Headline" => _('Text'), "Text" => _('The mail text of all mails.') . _('You can use wildcards for LDAP attributes in the form @@attribute@@ (e.g. @@uid@@ for the user name).') + . ' ' . _('The expiration date can be added with @@EXPIRE_DATE_DDMMYYYY@@ or @@EXPIRE_DATE_YYYYMMDD@@.') ), '804' => array( "Headline" => _('Notification period'), diff --git a/lam/lib/modules/shadowAccount.inc b/lam/lib/modules/shadowAccount.inc index 94eaedc2..e515c0ea 100644 --- a/lam/lib/modules/shadowAccount.inc +++ b/lam/lib/modules/shadowAccount.inc @@ -800,15 +800,6 @@ if (interface_exists('\LAM\JOB\Job', false)) { return _('Shadow') . ': ' . _('Notify users about password expiration'); } - /** - * Returns the description of the job. - * - * @return String description - */ - public function getDescription() { - return _('This job sends out emails to inform your users that their passwords will expire soon.'); - } - /** * Searches for users in LDAP. * diff --git a/lam/lib/modules/windowsUser.inc b/lam/lib/modules/windowsUser.inc index f91a5dd3..f5f2b648 100644 --- a/lam/lib/modules/windowsUser.inc +++ b/lam/lib/modules/windowsUser.inc @@ -3174,15 +3174,6 @@ if (interface_exists('\LAM\JOB\Job', false)) { return _('Windows') . ': ' . _('Notify users about password expiration'); } - /** - * Returns the description of the job. - * - * @return String description - */ - public function getDescription() { - return _('This job sends out emails to inform your users that their passwords will expire soon.'); - } - /** * Returns a list of password policy options. The options are later passed to function checkSingleUser(). * This reads the password policy to calculate expiration times later. Maxpwdage is the maximum amount of