A single choice on a ballot has this format:
#1 [ ] This or that
The regexp in uvvote.pl's process_vote() will
match and extract what's beetwen "[" and "]".
But if "This or that" contains a "]", the
match will be too greedy:
#1 [ ] This [or that]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <- match
Fix that by using a non-greedy operator.
Signed-off-by: Thomas Hochstein <thh@thh.name>
Otherwise mail addresses beginning with a
dash ("-mymail-@provider.example") will
lead to Exim erroring out.
Signed-off-by: Thomas Hochstein <thh@inter.net>
It may be desriable to compare a ballot to
a sample ballot when checking votes.
* Add options "diff" and "sampleballotfile" to
usevote.cfg an UVconfig.pm
* Add menu option to UVmenu.pm
Picked from upstream.
Signed-off-by: Thomas Hochstein <thh@inter.net>
Those new options to check the votename had not
been added to the README file.
Also fix a typo.
Picked from upstream.
Signed-off-by: Thomas Hochstein <thh@inter.net>
* thh-pickfromupstream:
Adapt some templates to upstream version.
Fix handling of template files like upstream.
Fix problem with recognition of ANNULLIERUNG.
Add option to read from Maildir.
Update version number and copyright.
Drop commonly used accounts from mailpatterns.
Update documentation from upstream.
In ccfa122651
we replaced TMP by DIR to harmonize its usage.
Upstream went the other way round and changed
DIR to TMP. We switch now to be compatible to
upstream.
Picked from upstream.
Signed-off-by: Thomas Hochstein <thh@inter.net>
Vote nullification is now recognized for
every topic.
Change template accordingly.
Picked from upstream.
Signed-off-by: Thomas Hochstein <thh@inter.net>
"news" as well as "usenet" are not only used
as role accounts, but also for normal use.
Picked from upstream.
Signed-off-by: Thomas Hochstein <thh@inter.net>
The - legally binding - data protection clause demands
an answer of "JA" to show voter agreement for vote
processing. Hence UseVote should only accept "JA"
(in upper or lower case), but not "DAFUER" or some
other synonyms.
* Add bdsg_confirm (regexp) to usevote.cfg
* Change check in uvvote.pl accordingly
Signed-off-by: Thomas Hochstein <thh@inter.net>
Add a header line with the identifier (name)
of the currently processed voting to the menu
display by UVmenu so one can check whether
the ballot really belongs to the current voting
even when checking more than one voting in a
batch.
Signed-off-by: Thomas Hochstein <thh@inter.net>
* thh-result-template:
Change quorum (60 -> 50 votes) in templates.
Adapt other result templates to result-multi.
Change quorum: 50 "JA" votes are now enough.
If the ballot is not quoted, the current
regular expression will match $nametext
(minus its first word) as second line
of $votename.
Change regular expression to match only
certain common quote characters at beginning
of second line. (Perhaps it would be even
better to stop matching on empty lines ...)
Check for erroneus match on $nametext as a
safety measure.
Signed-off-by: Thomas Hochstein <thh@inter.net>
It's possible that ballots get mixed up when
a voter is participating in more than one
voting and sending the ballots manually (by
copying and pasting them into his mail client).
UseVote could - and should! - check that the
ballot belongs to the current voting by comparing
the ballot introduction ("WAHLSCHEIN fuer ...")
with the votename and throw an error if they
don't match.
* Add ballotintro (default: WAHLSCHEIN fuer) and
tpl_wrong_voting (default: wrong-voting) to
usevote.cfg
* Add messages to messages.cfg
* Modify ballot and ballot-personal templates
accordingly
* Add check to uvvote.pl
* Add error handling to UVmenu.pm
* Change UVmenu::menu call in uvcfv.pl due
to new parameter ($voting)
Signed-off-by: Thomas Hochstein <thh@inter.net>
VOTE_NO_VOTES is defined (and used) twice in
messages.cfg and uvvote.pl - once for "no mails
to process" ("Keine Stimmen zu verarbeiten") and
once for "you didn't vote in your ballot"
("Keine Stimmen abgegeben").
Change the first use to VOTE_NO_VOTEMAILS.
Signed-off-by: Thomas Hochstein <thh@inter.net>