From dd07b4c96923ae1362d0889b99a2b8751eff0f5d Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Tue, 3 Apr 2007 13:13:44 +0000 Subject: [PATCH] Fixed bug with required attributes being a userlist SVN revision: 1826 --- src/elogd.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/elogd.c b/src/elogd.c index 9f2aacd4..c3b2b56e 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -8551,7 +8551,7 @@ void ricon(char *name, char *comment, char *onclick) rsprintf(" onclick=\"%s\"", onclick); rsprintf(" onmousedown=\"document.images.%s.src='icons/eld_%s.png'\"", name, name); rsprintf(" onmouseup=\"document.images.%s.src='icons/elc_%s.png'\"", name, name); - rsprintf(" onmouseover=\"this.style.cursor='hand';\" />"); + rsprintf(" onmouseover=\"this.style.cursor='pointer';\" />"); } /*------------------------------------------------------------------*/ @@ -8563,7 +8563,7 @@ void rsicon(char *name, char *comment, char *elcode) rsprintf(" onclick=\"elcode(document.form1.Text, '','%s')\"", elcode); rsprintf(" onmousedown=\"document.images.%s.src='icons/eld_%s.png'\"", name, name); rsprintf(" onmouseup=\"document.images.%s.src='icons/elc_%s.png'\"", name, name); - rsprintf(" onmouseover=\"this.style.cursor='hand';\" />"); + rsprintf(" onmouseover=\"this.style.cursor='pointer';\" />"); } /*------------------------------------------------------------------*/ @@ -9008,7 +9008,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL /* convert dots to underscores */ dtou(ua); - if (attr_flags[i] & (AF_MULTI | AF_MUSERLIST)) { + if (attr_flags[i] & AF_MULTI) { rsprintf(" if (\n"); for (j = 0; j < MAX_N_LIST && attr_options[i][j][0]; j++) { sprintf(str, "%s_%d", ua, j); @@ -9023,6 +9023,25 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL rsprintf(" return false;\n"); rsprintf(" }\n"); + } else if (attr_flags[i] & AF_MUSERLIST) { + rsprintf(" if (\n"); + for (j = 0;; j++) { + if (!enum_user_line(lbs, j, login_name, sizeof(login_name))) + break; + get_user_line(lbs, login_name, NULL, full_name, NULL, NULL, NULL); + + sprintf(str, "%s_%d", ua, j); + rsprintf(" !document.form1.%s.checked", str); + if (enum_user_line(lbs, j+1, login_name, sizeof(login_name))) + rsprintf(" &&\n"); + } + rsprintf(") {\n"); + sprintf(str, loc("Please select at least one '%s'"), attr_list[i]); + rsprintf(" alert(\"%s\");\n", str); + rsprintf(" document.form1.%s_0.focus();\n", ua); + rsprintf(" return false;\n"); + rsprintf(" }\n"); + } else if (attr_flags[i] & AF_RADIO) { rsprintf(" for (var i=0 ; i\n"); + rsprintf(" onmouseover=\"this.style.cursor='pointer';\" />\n"); rsprintf("