ID |
Date |
Icon |
Author |
Author Email |
Category |
OS |
ELOG Version |
Subject |
68626
|
Wed May 31 11:45:06 2017 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Question | Linux | 3.1.1 | Re: inactive users | Hi,
I reopen this old thread since I'm having a similar problem.
I'm running ELOG V3.1.1-0767eb0 on ubuntu with webserver authentication, and I'd like to remove 'active' checkbox as well.
The problem that we found is that if any user click on the [Set None] button at the bottom of the Config page in order to unsubscribe from all mail notification, *all* the checkbox are toggled, not only those for the email notification. And this includes
also the "active user" as well.
Moreover, if an user click directly on the "active user" checkbox, a warning dialog box appears, asking for confirmation, but this is not the case is [Set none] is pressed: so, in that case, a user deactivate itself without warning.
Looking at the web page as well as at the code, I did not find a possibility, but maybe someone knows better.
Thanks in advance,
Stefano
> Hello,
>
> Is it possible to remove the "active" checkbox a user sees when they click on "config"? Alternatively, is it possible to have a new user arrive directly at the logbook they chose, rather than starting out at the config screen?
>
> We are running elog-3.1.1 on SL6 with webserver authentication. For the most part this works great, but somehow a few users become inactive after they login for the first time. They claim they didn't un-check "active," but I can't think of any other
way this would happen.
>
> Many thanks,
> Devin |
68628
|
Wed May 31 16:02:46 2017 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Bug report | Linux | 3.1.1 | Re: inactive users | Hi,
a possible solution is to change the current SetAll() and SetNone() javascript functions to something like:
<!--
function SetNone()
{
for(var i=0,els=document.querySelectorAll('[name^="sub_lb"]'); i<els.length; i++)
{
els[i].checked = false;
}
}
function SetAll()
{
for(var i=0,els=document.querySelectorAll('[name^="sub_lb"]'); i<els.length; i++)
{
els[i].checked = true;
}
}
//-->
It works on Chromium 58.x and Firefox 53.x, I don't know about other browsers.
The javascript snippet is generated in function elogd.c: void show_config_page(LOGBOOK * lbs) (line 13960-984 on my version of the source code).
Best,
Stefano |
68694
|
Mon Oct 23 11:47:50 2017 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Question | Linux | V3.1.1-0767eb0 | Attribute option "+x" not searcheable | Dear experts,
I have an elog with an attribute with fixed values, like this:
Attributes = Half
Options Half = +x, -x, both
It works fine, but I would like to find (or quick filter) all entries with Half=+x .
If I go to the search form, I can select +x from the dropdown menu for Half, but the search returns no result, even if I do have a number of entries with Half=+x. Likewise if I try to do the same with Quick filter.
I believe that this is due to the fact that the search uses regex, and "+" is reserved. I've tried to perform a search by entering manually and escaped "\+x", and it works as intended.
https://.../?mode=summary&reverse=0&reverse=1&npp=20&Half=%5E%5C%2Bx%24
However, since this attribute has a list of fixed values, it is not possible to entry manually something different "\+x" than what is defined in the config, that is "+x".
Is there a solution for this problem?
I would rather not change the attributes options (to, say, positive/negative), since that would mean changing manually a non negligible number of entries.
thanks,
Stefano |
Draft
|
Mon Feb 26 18:16:35 2018 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Bug report | Linux | 3.1.1 | Re: inactive users | Hi,
sorry to bother again on this issue, but it is causing me some trouble, as many of my users are using the "SetNone" button in their config page, and doing so they deactivate their account, which I have to re-activate manually.
The warning about "Are you sure you want to deactivate your own account ..." is actually triggered only when someone toggle the "active" radio button, but not when the "SetNone" function is used. In that case no warning is present, and the user just deactivate his/her account. I'm sure that this is not the intended behavior.
I attach a modified version of elogd.c (based on git c1866af75bb2fe62aa868c4cf562f43a08e4b499 ) with the modified javascript I proposed earlier in this thread.
best,
Stefano |
Attachment 1: elogd.c
|
/********************************************************************
Name: elogd.c
Created by: Stefan Ritt
Copyright 2000 + Stefan Ritt
ELOG is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ELOG is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
In addition, as a special exception, the copyright holders give
permission to link the code of portions of this program with the
OpenSSL library under certain conditions as described in each
individual source file, and distribute linked combinations
including the two.
You must obey the GNU General Public License in all respects
for all of the code used other than OpenSSL. If you modify
file(s) with this exception, you may extend this exception to your
version of the file(s), but you are not obligated to do so. If you
do not wish to do so, delete this exception statement from your
version. If you delete this exception statement from all source
files in the program, then also delete it here.
You should have received a copy of the GNU General Public License
along with ELOG. If not, see <http://www.gnu.org/licenses/>.
Contents: Web server program for Electronic Logbook ELOG
\********************************************************************/
#include "elogd.h"
#include "git-revision.h"
const char *_git_revision = GIT_REVISION;
BOOL running_as_daemon; /* Running as a daemon/service? */
int elog_tcp_port; /* Server's TCP port */
static void (*printf_handler) (const char *); /* Handler to printf for logging */
static void (*fputs_handler) (const char *); /* Handler to fputs for logging */
static FILE *current_output_stream = NULL; /* Currently used output stream */
char *return_buffer;
int return_buffer_size;
int strlen_retbuf;
int keep_alive;
char header_buffer[20000];
int return_length;
char host_name[256];
char referer[256];
char browser[256];
char config_file[256];
char resource_dir[256];
char logbook_dir[256];
char listen_interface[256];
char theme_name[80];
char http_host[256];
char http_user[256];
char _param[MAX_PARAM][NAME_LENGTH];
char _value[MAX_PARAM][NAME_LENGTH];
char _mtext[TEXT_SIZE];
char _cmdline[CMD_SIZE];
char *_attachment_buffer;
int _attachment_size;
int _max_content_length = MAX_CONTENT_LENGTH;
struct in_addr rem_addr;
char rem_host[256];
char rem_host_ip[256];
int _sock;
BOOL use_keepalive, enable_execute = FALSE;
BOOL ckedit_exist, image_magick_exist;
int _verbose_level, _current_message_id;
int _logging_level, _ssl_flag;
LOGBOOK *lb_list = NULL;
#define VERBOSE_URL 1
#define VERBOSE_INFO 2
#define VERBOSE_DEBUG 3
#ifdef HAVE_SSL
SSL *_ssl_con;
#endif
char *mname[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"
};
char type_list[MAX_N_LIST][NAME_LENGTH] = { "Routine", "Other" };
char category_list[MAX_N_LIST][NAME_LENGTH] = { "General", "Other",
};
char author_list[MAX_N_LIST][NAME_LENGTH] = { "" };
char attr_list[MAX_N_ATTR][NAME_LENGTH];
char attr_options[MAX_N_ATTR][MAX_N_LIST][NAME_LENGTH];
int attr_flags[MAX_N_ATTR];
char attr_list_default[][NAME_LENGTH] = { "Author", "Type", "Category", "Subject", "" };
char attr_options_default[][MAX_N_LIST][NAME_LENGTH] = { {""}, {"Routine", "Other"},
{"General", "Other"}, {""}
};
int attr_flags_default[] = { AF_REQUIRED, 0, 0, 0 };
struct {
char ext[32];
char type[80];
} filetype[] = {
{
".AI", "application/postscript"}, {
".ASC", "text/plain"}, {
".BZ2", "application/x-bzip2"}, {
".CFG", "text/plain"}, {
".CHRT", "application/x-kchart"}, {
".CONF", "text/plain"}, {
".CSH", "application/x-csh"}, {
".CSS", "text/css"}, {
".DOC", "application/msword"}, {
".DVI", "application/x-dvi"}, {
".EPS", "application/postscript"}, {
".GIF", "image/gif"}, {
".GZ", "application/x-gzip"}, {
".HTM", "text/html"}, {
".HTML", "text/html"}, {
".ICO", "image/x-icon"}, {
".JPEG", "image/jpeg"}, {
".JPG", "image/jpeg"}, {
".JS", "application/x-javascript"}, {
".KPR", "application/x-kpresenter"}, {
".KSP", "application/x-kspread"}, {
".KWD", "application/x-kword"}, {
".MP3", "audio/mpeg"}, {
".OGG", "application/x-ogg"}, {
".PDF", "application/pdf"}, {
".PNG", "image/png"}, {
".PS", "application/postscript"}, {
".RAM", "audio/x-pn-realaudio"}, {
".RM", "audio/x-pn-realaudio"}, {
".RM", "audio/x-pn-realaudio"}, {
".RM", "audio/x-pn-realaudio"}, {
".RPM", "application/x-rpm"}, {
".RTF", "application/rtf"}, {
".SH", "application/x-sh"}, {
".SVG", "image/svg+xml"}, {
".TAR", "application/x-tar"}, {
".TCL", "application/x-tcl"}, {
".TEX", "application/x-tex"}, {
".TGZ", "application/x-gzip"}, {
".TIF", "image/tiff"}, {
".TIFF", "image/tiff"}, {
".TXT", "text/plain"}, {
".WAV", "audio/x-wav"}, {
".XLS", "application/x-msexcel"}, {
".XML", "text/xml"}, {
".XSL", "text/xml"}, {
".ZIP", "application/x-zip-compressed"}, {
/* Open XML file types */
".DOCM", "application/vnd.ms-word.document.macroEnabled.12"}, {
".DOCX", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"}, {
".DOTM", "application/vnd.ms-word.template.macroEnabled.12"}, {
".DOTX", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"}, {
".PPSM", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"}, {
".PPSX", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"}, {
".PPTM", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"}, {
".PPTX", "application/vnd.openxmlformats-officedocument.presentationml.presentation"}, {
".XLSB", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"}, {
".XLSM", "application/vnd.ms-excel.sheet.macroEnabled.12"}, {
".XLSX", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, {
".XPS", "application/vnd.ms-xpsdocument"}, {
"", ""},};
struct {
char language[32];
char abbrev[32];
} lang_table[] = {
{ "brazilian", "br"},
{ "bulgarian", "bg"},
{ "czech", "cz"},
{ "danish", "dk"},
{ "dutch", "nl"},
{ "french", "fr"},
{ "german", "de"},
{ "indonesia", "id"},
{ "italian", "it"},
{ "japanese", "jp"},
{ "polish", "pl"},
{ "ru_CP1251", "ru"},
{ "slowak", "sk"},
{ "spanish", "es"},
{ "swedish", "se"},
{ "turkish", "tr"},
{ "zh_CN-GB2314", "zh"},
{ "zh_CN-UTF8", "zh"},
{ "", "" }
};
char _convert_cmd[256];
char _identify_cmd[256];
#ifdef OS_WINNT
int run_service(void);
#endif
#ifdef OS_UNIX
gid_t orig_gid; /* Original effective GID before dropping privilege */
uid_t orig_uid; /* Original effective UID before dropping privilege */
char pidfile[256]; /* Pidfile name */
#endif
#ifdef __CYGWIN__ /* bug in cygwin, 'timezone' not linked automatically */
long _timezone;
#endif
/*---- Funcions from the MIDAS library -----------------------------*/
#define my_toupper(_c) ( ((_c)>='a' && (_c)<='z') ? ((_c)-'a'+'A') : (_c) )
#define my_tolower(_c) ( ((_c)>='A' && (_c)<='Z') ? ((_c)-'A'+'a') : (_c) )
BOOL strieq(const char *str1, const char *str2)
{
char c1, c2;
if (str1 == NULL && str2 == NULL)
return TRUE;
if (str1 == NULL || str2 == NULL)
return FALSE;
if (strlen(str1) != strlen(str2))
return FALSE;
while (*str1) {
c1 = *str1++;
c2 = *str2++;
if (my_toupper(c1) != my_toupper(c2))
return FALSE;
}
if (*str2)
return FALSE;
return TRUE;
}
BOOL strnieq(const char *str1, const char *str2, int n)
{
char c1, c2;
int i;
if (str1 == NULL && str2 == NULL && n == 0)
return TRUE;
if (str1 == NULL || str2 == NULL)
return FALSE;
if ((int) strlen(str1) < n || (int) strlen(str2) < n)
return FALSE;
for (i = 0; i < n && *str1; i++) {
c1 = *str1++;
c2 = *str2++;
if (my_toupper(c1) != my_toupper(c2))
return FALSE;
}
if (i < n)
return FALSE;
return TRUE;
}
char *stristr(const char *str, const char *pattern)
{
char c1, c2, *ps, *pp;
if (str == NULL || pattern == NULL)
return NULL;
while (*str) {
ps = (char *) str;
pp = (char *) pattern;
c1 = *ps;
c2 = *pp;
if (my_toupper(c1) == my_toupper(c2)) {
while (*pp) {
c1 = *ps;
c2 = *pp;
if (my_toupper(c1) != my_toupper(c2))
... 30944 more lines ...
|
68745
|
Mon Feb 26 18:27:09 2018 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Bug report | Linux | 3.1.3 | Re: inactive users | Hi,
sorry to bother again on this issue, but it is causing me some trouble, as many of my users are using the "SetNone" button in their config page, and doing so they deactivate their account, which I have to
re-activate manually.
The warning about "Are you sure you want to deactivate your own account ..." is actually triggered only when someone toggle the "active" radio button, but not when the "SetNone" function is used. In that
case no warning is present, and the user just deactivate his/her account. I'm sure that this is not the intended behavior.
I attach a modified version of elogd.c (based on git c1866af75bb2fe62aa868c4cf562f43a08e4b499 ) with the modified javascript I proposed earlier in this thread.
best,
Stefano |
Attachment 1: elogd.c
|
/********************************************************************
Name: elogd.c
Created by: Stefan Ritt
Copyright 2000 + Stefan Ritt
ELOG is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ELOG is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
In addition, as a special exception, the copyright holders give
permission to link the code of portions of this program with the
OpenSSL library under certain conditions as described in each
individual source file, and distribute linked combinations
including the two.
You must obey the GNU General Public License in all respects
for all of the code used other than OpenSSL. If you modify
file(s) with this exception, you may extend this exception to your
version of the file(s), but you are not obligated to do so. If you
do not wish to do so, delete this exception statement from your
version. If you delete this exception statement from all source
files in the program, then also delete it here.
You should have received a copy of the GNU General Public License
along with ELOG. If not, see <http://www.gnu.org/licenses/>.
Contents: Web server program for Electronic Logbook ELOG
\********************************************************************/
#include "elogd.h"
#include "git-revision.h"
const char *_git_revision = GIT_REVISION;
BOOL running_as_daemon; /* Running as a daemon/service? */
int elog_tcp_port; /* Server's TCP port */
static void (*printf_handler) (const char *); /* Handler to printf for logging */
static void (*fputs_handler) (const char *); /* Handler to fputs for logging */
static FILE *current_output_stream = NULL; /* Currently used output stream */
char *return_buffer;
int return_buffer_size;
int strlen_retbuf;
int keep_alive;
char header_buffer[20000];
int return_length;
char host_name[256];
char referer[256];
char browser[256];
char config_file[256];
char resource_dir[256];
char logbook_dir[256];
char listen_interface[256];
char theme_name[80];
char http_host[256];
char http_user[256];
char _param[MAX_PARAM][NAME_LENGTH];
char _value[MAX_PARAM][NAME_LENGTH];
char _mtext[TEXT_SIZE];
char _cmdline[CMD_SIZE];
char *_attachment_buffer;
int _attachment_size;
int _max_content_length = MAX_CONTENT_LENGTH;
struct in_addr rem_addr;
char rem_host[256];
char rem_host_ip[256];
int _sock;
BOOL use_keepalive, enable_execute = FALSE;
BOOL ckedit_exist, image_magick_exist;
int _verbose_level, _current_message_id;
int _logging_level, _ssl_flag;
LOGBOOK *lb_list = NULL;
#define VERBOSE_URL 1
#define VERBOSE_INFO 2
#define VERBOSE_DEBUG 3
#ifdef HAVE_SSL
SSL *_ssl_con;
#endif
char *mname[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"
};
char type_list[MAX_N_LIST][NAME_LENGTH] = { "Routine", "Other" };
char category_list[MAX_N_LIST][NAME_LENGTH] = { "General", "Other",
};
char author_list[MAX_N_LIST][NAME_LENGTH] = { "" };
char attr_list[MAX_N_ATTR][NAME_LENGTH];
char attr_options[MAX_N_ATTR][MAX_N_LIST][NAME_LENGTH];
int attr_flags[MAX_N_ATTR];
char attr_list_default[][NAME_LENGTH] = { "Author", "Type", "Category", "Subject", "" };
char attr_options_default[][MAX_N_LIST][NAME_LENGTH] = { {""}, {"Routine", "Other"},
{"General", "Other"}, {""}
};
int attr_flags_default[] = { AF_REQUIRED, 0, 0, 0 };
struct {
char ext[32];
char type[80];
} filetype[] = {
{
".AI", "application/postscript"}, {
".ASC", "text/plain"}, {
".BZ2", "application/x-bzip2"}, {
".CFG", "text/plain"}, {
".CHRT", "application/x-kchart"}, {
".CONF", "text/plain"}, {
".CSH", "application/x-csh"}, {
".CSS", "text/css"}, {
".DOC", "application/msword"}, {
".DVI", "application/x-dvi"}, {
".EPS", "application/postscript"}, {
".GIF", "image/gif"}, {
".GZ", "application/x-gzip"}, {
".HTM", "text/html"}, {
".HTML", "text/html"}, {
".ICO", "image/x-icon"}, {
".JPEG", "image/jpeg"}, {
".JPG", "image/jpeg"}, {
".JS", "application/x-javascript"}, {
".KPR", "application/x-kpresenter"}, {
".KSP", "application/x-kspread"}, {
".KWD", "application/x-kword"}, {
".MP3", "audio/mpeg"}, {
".OGG", "application/x-ogg"}, {
".PDF", "application/pdf"}, {
".PNG", "image/png"}, {
".PS", "application/postscript"}, {
".RAM", "audio/x-pn-realaudio"}, {
".RM", "audio/x-pn-realaudio"}, {
".RM", "audio/x-pn-realaudio"}, {
".RM", "audio/x-pn-realaudio"}, {
".RPM", "application/x-rpm"}, {
".RTF", "application/rtf"}, {
".SH", "application/x-sh"}, {
".SVG", "image/svg+xml"}, {
".TAR", "application/x-tar"}, {
".TCL", "application/x-tcl"}, {
".TEX", "application/x-tex"}, {
".TGZ", "application/x-gzip"}, {
".TIF", "image/tiff"}, {
".TIFF", "image/tiff"}, {
".TXT", "text/plain"}, {
".WAV", "audio/x-wav"}, {
".XLS", "application/x-msexcel"}, {
".XML", "text/xml"}, {
".XSL", "text/xml"}, {
".ZIP", "application/x-zip-compressed"}, {
/* Open XML file types */
".DOCM", "application/vnd.ms-word.document.macroEnabled.12"}, {
".DOCX", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"}, {
".DOTM", "application/vnd.ms-word.template.macroEnabled.12"}, {
".DOTX", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"}, {
".PPSM", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"}, {
".PPSX", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"}, {
".PPTM", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"}, {
".PPTX", "application/vnd.openxmlformats-officedocument.presentationml.presentation"}, {
".XLSB", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"}, {
".XLSM", "application/vnd.ms-excel.sheet.macroEnabled.12"}, {
".XLSX", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, {
".XPS", "application/vnd.ms-xpsdocument"}, {
"", ""},};
struct {
char language[32];
char abbrev[32];
} lang_table[] = {
{ "brazilian", "br"},
{ "bulgarian", "bg"},
{ "czech", "cz"},
{ "danish", "dk"},
{ "dutch", "nl"},
{ "french", "fr"},
{ "german", "de"},
{ "indonesia", "id"},
{ "italian", "it"},
{ "japanese", "jp"},
{ "polish", "pl"},
{ "ru_CP1251", "ru"},
{ "slowak", "sk"},
{ "spanish", "es"},
{ "swedish", "se"},
{ "turkish", "tr"},
{ "zh_CN-GB2314", "zh"},
{ "zh_CN-UTF8", "zh"},
{ "", "" }
};
char _convert_cmd[256];
char _identify_cmd[256];
#ifdef OS_WINNT
int run_service(void);
#endif
#ifdef OS_UNIX
gid_t orig_gid; /* Original effective GID before dropping privilege */
uid_t orig_uid; /* Original effective UID before dropping privilege */
char pidfile[256]; /* Pidfile name */
#endif
#ifdef __CYGWIN__ /* bug in cygwin, 'timezone' not linked automatically */
long _timezone;
#endif
/*---- Funcions from the MIDAS library -----------------------------*/
#define my_toupper(_c) ( ((_c)>='a' && (_c)<='z') ? ((_c)-'a'+'A') : (_c) )
#define my_tolower(_c) ( ((_c)>='A' && (_c)<='Z') ? ((_c)-'A'+'a') : (_c) )
BOOL strieq(const char *str1, const char *str2)
{
char c1, c2;
if (str1 == NULL && str2 == NULL)
return TRUE;
if (str1 == NULL || str2 == NULL)
return FALSE;
if (strlen(str1) != strlen(str2))
return FALSE;
while (*str1) {
c1 = *str1++;
c2 = *str2++;
if (my_toupper(c1) != my_toupper(c2))
return FALSE;
}
if (*str2)
return FALSE;
return TRUE;
}
BOOL strnieq(const char *str1, const char *str2, int n)
{
char c1, c2;
int i;
if (str1 == NULL && str2 == NULL && n == 0)
return TRUE;
if (str1 == NULL || str2 == NULL)
return FALSE;
if ((int) strlen(str1) < n || (int) strlen(str2) < n)
return FALSE;
for (i = 0; i < n && *str1; i++) {
c1 = *str1++;
c2 = *str2++;
if (my_toupper(c1) != my_toupper(c2))
return FALSE;
}
if (i < n)
return FALSE;
return TRUE;
}
char *stristr(const char *str, const char *pattern)
{
char c1, c2, *ps, *pp;
if (str == NULL || pattern == NULL)
return NULL;
while (*str) {
ps = (char *) str;
pp = (char *) pattern;
c1 = *ps;
c2 = *pp;
if (my_toupper(c1) == my_toupper(c2)) {
while (*pp) {
c1 = *ps;
c2 = *pp;
if (my_toupper(c1) != my_toupper(c2))
... 30944 more lines ...
|
68809
|
Wed May 23 14:44:08 2018 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Question | Linux | V3.1.3 | both "email <attribute> <value" and "email all" at the same time | Hi,
I have an elogbook which sends notifications to subscribers, plus, if the "Type" is "New Run", it sends the notification to a different mailing addeess and with a different subject (which need to be parsed by
a script, but that's not relevant). All works fine: the snippet of config is below.
Attributes = Subject, Author, Type
Options Type = New Run{1}
Email All = all@experiment.org
Use Email Subject = [demo] $Subject from $Author
Email Type "New Run" = new-run@experiment.org
{1} Use Email Subject = NEWRUN
However, I'd like that the notification is always sent to all@experiment.org for all entries with the standard subject, and *also* to new-run@experiment.org in case of new run with the customized one.
Apparently with the config that I'm using this is not happening, and the "new run" are only sent to new-run@experiment.org (w/ subject NEWRUN).
I could easily add the generic address in addition to new-run@experiment.org, ie:
Email Type "New Run" = new-run@experiment.org, all@experiment.org
but in this case the subject would be "NEWRUN", while I'd like it to be "[demo] $Subject from $Author".
Any idea about how this can be done?
thanks in advance, Stefano |
68824
|
Thu Jun 14 13:12:02 2018 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Question | Linux | 3.1.3 | edit templates from config page | Dear all,
I have some logbook which uses preset text depending on some option values, and uses text files for this.
something similar to:
Options Type = Start of shift{1}, 2h{2}, 4h{3}, 6h{4}, End of shift {5}
{1} Preset text = MCProdStart.txt
{2} Preset text = MCProd2h.txt
{3} Preset text = MCProd4h.txt
{4} Preset text = MCProd6h.txt
{5} Preset text = MCProdEnd.txt
I wonder if there is a way to change/edit the text files from the web interface if you are admin of that logbook, or if the only way is to change the files directly in the elog server.
thanks Stefano |
68884
|
Tue Feb 5 07:31:44 2019 |
| Stefano Lacaprara | stefano.lacaprara@pd.infn.it | Bug report | Linux | 3.1.3 | quick filter not working for attributes with special char | Hi,
I'm using elog 3.1.3 and I have an elogbook with an attribute with name
Attributes = Author, CO2 Temp [deg], ...
If I add this attributes to quick list,
Quick filter = Author, CO2 Temp [deg]
it does display on web page, but the search fails with "ERR_TOO_MANY_REDIRECTS" if I leave the default value in the corresponding quick filter box.
My understanding is that the presence of a "[]" in the default search value is the reason for failure and if I remove them the search works fine.
Is there a workaround?
I don't want to change the attribute name, since I do have quite a large number of entries in the elogbook, and I'd like to keep the attribute in the quick search if possible.
Thanks,
Stefano |
|