diff --git a/NT/elogd.mak b/NT/elogd.mak index 9788b37a..ba2d1013 100755 --- a/NT/elogd.mak +++ b/NT/elogd.mak @@ -93,7 +93,7 @@ BSC32_SBRS= \ << LINK32=link.exe -LINK32_FLAGS=wsock32.lib advapi32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\elogd.pdb" /machine:I386 /out:"$(OUTDIR)\elogd.exe" +LINK32_FLAGS=wsock32.lib advapi32.lib /nologo /subsystem:console /stack:4000000 /incremental:no /pdb:"$(OUTDIR)\elogd.pdb" /machine:I386 /out:"$(OUTDIR)\elogd.exe" LINK32_OBJS= \ "$(INTDIR)\elogd.obj" "$(INTDIR)\regex.obj" @@ -173,7 +173,7 @@ BSC32_SBRS= \ << LINK32=link.exe -LINK32_FLAGS=wsock32.lib advapi32.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\elogd.pdb" /debug /machine:I386 /out:"$(OUTDIR)\elogd.exe" /pdbtype:sept +LINK32_FLAGS=wsock32.lib advapi32.lib /nologo /subsystem:console /stack:4000000 /incremental:yes /pdb:"$(OUTDIR)\elogd.pdb" /debug /machine:I386 /out:"$(OUTDIR)\elogd.exe" /pdbtype:sept LINK32_OBJS= \ "$(INTDIR)\elogd.obj" "$(INTDIR)\regex.obj" diff --git a/NT/elogd.vcproj b/NT/elogd.vcproj index 99602a84..8aa4c973 100755 --- a/NT/elogd.vcproj +++ b/NT/elogd.vcproj @@ -44,7 +44,7 @@ GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/elogd.pdb" SubSystem="1" - StackReserveSize="1048576" + StackReserveSize="4000000" TargetMachine="1"/> "0, attribname, attribvalue, 80, 500". Trailing parameters can so specifying for example only the flags is possible.

-

  • Type <attribute> = date | numeric +
  • Type <attribute> = date | numeric | userlist
    A normal attribute can contain strings of any type. With this option, attributes can be -forced to be numeric or to be a date. When new logbook entries are made, +forced to be numeric or to be a date, or to consist of a list of all users from the password file. +When new logbook entries are made, numeric attributes are checked to contain only digits. Note that JavaScript has to be enabled to do this.

    @@ -1073,6 +1074,10 @@ dates can be searched for via a start and end date. If date attributes are used (see above), a drop-down quick filter box is displayed which lets the user select "last day", "last week", "next week", and so on.

    +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.

    +

  • Display <attribute> = <string>
    Instead of subsituting an attribute, the original attribute can be kept and just the diff --git a/doc/wishlist.html b/doc/wishlist.html index 014c180a..58df0649 100755 --- a/doc/wishlist.html +++ b/doc/wishlist.html @@ -53,10 +53,6 @@ Derive attribute options from list of entries of another logbook1 - - - Derive list of options for attribute from user list (Options [attrib] = - $user_list)2 Add/Remove logbooks though the web interface1 diff --git a/src/elogd.c b/src/elogd.c index 0e239132..c487727b 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -6,6 +6,9 @@ Contents: Web server program for Electronic Logbook ELOG $Log$ + Revision 1.513 2004/11/17 14:39:16 midas + Implemented USERLIST as attribute type + Revision 1.512 2004/11/16 15:35:17 midas Version 2.5.5-2 @@ -878,6 +881,7 @@ char author_list[MAX_N_LIST][NAME_LENGTH] = { #define AF_EXTENDABLE (1<<7) #define AF_DATE (1<<8) #define AF_NUMERIC (1<<9) +#define AF_USERLIST (1<<10) /* attribute format flags */ #define AFF_SAME_LINE 1 @@ -5988,6 +5992,8 @@ and attr_flags arrays */ attr_flags[i] |= AF_DATE; if (strieq(type, "numeric")) attr_flags[i] |= AF_NUMERIC; + if (strieq(type, "userlist")) + attr_flags[i] |= AF_USERLIST; } } @@ -7318,7 +7324,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL reply_tag[MAX_REPLY_TO * 10], att[MAX_ATTACHMENTS][256], encoding[80], slist[MAX_N_ATTR + 10][NAME_LENGTH], svalue[MAX_N_ATTR + 10][NAME_LENGTH], owner[256], locked_by[256], class_value[80], class_name[80], condition[256], - ua[NAME_LENGTH], mid[80], title[256]; + ua[NAME_LENGTH], mid[80], title[256], login_name[256]; time_t now, ltime; char fl[8][NAME_LENGTH]; struct tm *pts, ts; @@ -7980,6 +7986,32 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL show_date_selector(day, month, year, str); rsprintf("\n"); + } else if (attr_flags[index] & AF_USERLIST) { + + rsprintf("\n", title); + + /* display drop-down box with list of users */ + rsprintf("\n"); + + rsprintf("\n"); + } else { /* show normal edit field */