diff --git a/doc/config.html b/doc/config.html index 86a952c0..c8fd3f75 100755 --- a/doc/config.html +++ b/doc/config.html @@ -1402,7 +1402,7 @@ Subst on edit author = $full_name
  • Type <attribute> = date | datetime | numeric | - userlist
    + userlist | useremail
    A normal attribute can contain strings of any type. With this option, attributes can be forced to be numeric or to be a date/time, or to consist of a list of all users from the password file. When new logbook @@ -1427,7 +1427,11 @@ Subst on edit author = $full_name If the attribute type is userlist, a drop-down box is displayed which contains all user names from the current password file. This can be useful for example in a bug tracking system, where a - new entry gets assigned to an individual. + new entry gets assigned to an individual. The type + useremail is similar, just a list of email addresses + of all registered users. This can be used to send email notification + to assigned people by using this attribute in an + Email all = <attribute> statement.
  • Change <attribute> = <string>
    diff --git a/src/elogd.c b/src/elogd.c index 02a14292..a9d94a4b 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -255,7 +255,8 @@ char author_list[MAX_N_LIST][NAME_LENGTH] = { #define AF_TIME (1<<10) #define AF_NUMERIC (1<<11) #define AF_USERLIST (1<<12) -#define AF_HIDDEN (1<<13) +#define AF_USEREMAIL (1<<13) +#define AF_HIDDEN (1<<14) /* attribute format flags */ #define AFF_SAME_LINE 1 @@ -6776,6 +6777,9 @@ and attr_flags arrays */ attr_flags[i] |= AF_NUMERIC; if (strieq(type, "userlist")) attr_flags[i] |= AF_USERLIST; + if (strieq(type, "useremail")) + attr_flags[i] |= AF_USEREMAIL; + } } @@ -9422,6 +9426,32 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL rsprintf("\n"); + } else if (attr_flags[index] & AF_USEREMAIL) { + + rsprintf("\n", title); + + /* display drop-down box with list of users */ + rsprintf("\n"); + + rsprintf("\n"); + } else { /* show normal edit field */