Add option to compare ballot to sample ballot.
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>
This commit is contained in:
		
							parent
							
								
									dc651b4283
								
							
						
					
					
						commit
						7a0133efe6
					
				
					 6 changed files with 42 additions and 6 deletions
				
			
		
							
								
								
									
										13
									
								
								CHANGES
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								CHANGES
									
										
									
									
									
								
							| 
						 | 
					@ -3,11 +3,14 @@ UseVoteGer Versionshistorie (aktuelle Version: 4.11, released 25.09.2012)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TODO:
 | 
					TODO:
 | 
				
			||||||
- aussortieren von Bounces aus Stimmenliste
 | 
					- aussortieren von Bounces aus Stimmenliste
 | 
				
			||||||
- [Zugschlus] ich fänd es klasse, wenn man eine Kopie des Wahlscheines ins
 | 
					
 | 
				
			||||||
Abstimmungsverzeichnis legt und Usevote einem dann auf Abruf ein diff
 | 
					Version 4.12 (19.01.2014):
 | 
				
			||||||
oder wdiff zwischen Sollwahlschein und wirklich eingreichtem
 | 
					- neue Config-Optionen "diff" und "sampleballotfile"
 | 
				
			||||||
Wahlschein macht. Auf diese Weise erwischt man auch kleine Änderungen
 | 
					- im Fehlermenue bei der Wahlscheinverarbeitung ist es nun moeglich,
 | 
				
			||||||
am Datenschutzhinweis (da bin ich eben in eine Falle von th-h getappt).
 | 
					  mit der Option "0" einen Dateivergleich (diff) zwischen dem gemailten
 | 
				
			||||||
 | 
					  Wahlschein und einem Musterwahlschein (wie im CfV geposted) zu starten.
 | 
				
			||||||
 | 
					  Dazu muss die Config-Option "sampleballotfile" gesetzt und die Datei
 | 
				
			||||||
 | 
					  vorhanden sein (Standard-Dateiname: ballot.sample)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 4.11 (25.09.2012):
 | 
					Version 4.11 (25.09.2012):
 | 
				
			||||||
- Regular Expression fuer Pruefung des Abstimmungsnamens verbessert.
 | 
					- Regular Expression fuer Pruefung des Abstimmungsnamens verbessert.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								README
									
										
									
									
									
								
							| 
						 | 
					@ -324,6 +324,7 @@ ohne die .pl und .pm Dateien jedesmal mitzukopieren. Folgende Dateien
 | 
				
			||||||
sollten im Abstimmungsverzeichnis vorhanden sein (notwendig ist nur
 | 
					sollten im Abstimmungsverzeichnis vorhanden sein (notwendig ist nur
 | 
				
			||||||
usevote.cfg, darin können alle anderen Pfade angepasst werden):
 | 
					usevote.cfg, darin können alle anderen Pfade angepasst werden):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ballot.sample
 | 
				
			||||||
bdsgtext.cfg
 | 
					bdsgtext.cfg
 | 
				
			||||||
mailpatterns.cfg
 | 
					mailpatterns.cfg
 | 
				
			||||||
messages.cfg
 | 
					messages.cfg
 | 
				
			||||||
| 
						 | 
					@ -404,6 +405,7 @@ mit einzelnen Stimmen wirst Du interaktiv durch Menues gefuehrt.
 | 
				
			||||||
Meistens gibt es folgende Moeglichkeiten, die durch die
 | 
					Meistens gibt es folgende Moeglichkeiten, die durch die
 | 
				
			||||||
eingeklammerten Buchstaben und Zahlen aufgerufen werden koennen:
 | 
					eingeklammerten Buchstaben und Zahlen aufgerufen werden koennen:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(0) Wahlschein mit Original vergleichen (diff)
 | 
				
			||||||
(1) Anzeigen der Wahlmail
 | 
					(1) Anzeigen der Wahlmail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
 | 
					Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
 | 
				
			||||||
| 
						 | 
					@ -427,6 +429,9 @@ Teilweise gibt es Unteroptionen:
 | 
				
			||||||
Nun solltest Du zunaechst mit (1) die Mail ansehen und anhand
 | 
					Nun solltest Du zunaechst mit (1) die Mail ansehen und anhand
 | 
				
			||||||
der bemaengelten Punkte entscheiden, ob der Wahlschein gueltig
 | 
					der bemaengelten Punkte entscheiden, ob der Wahlschein gueltig
 | 
				
			||||||
oder ungueltig ist bzw. welche Maengel tatsaechlich zutreffen.
 | 
					oder ungueltig ist bzw. welche Maengel tatsaechlich zutreffen.
 | 
				
			||||||
 | 
					Mit (0) kannst Du einen Dateivergleich zu einem vorher hinterlegten
 | 
				
			||||||
 | 
					Musterwahlschein ausführen ("diff"), um Aenderungen/Fehler schneller
 | 
				
			||||||
 | 
					zu sehen.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Mit den Optionen (2) bis (7) kannst Du einzelne Eigenschaften
 | 
					Mit den Optionen (2) bis (7) kannst Du einzelne Eigenschaften
 | 
				
			||||||
des Wahlscheins nachbessern (wenn Usevote z.B. einen Namen oder
 | 
					des Wahlscheins nachbessern (wenn Usevote z.B. einen Namen oder
 | 
				
			||||||
| 
						 | 
					@ -958,6 +963,7 @@ Hier eine Auflistung der immer anzupassenden Optionen
 | 
				
			||||||
votename         Name der Abstimmung
 | 
					votename         Name der Abstimmung
 | 
				
			||||||
group1           Erster Abstimmungsgegenstand
 | 
					group1           Erster Abstimmungsgegenstand
 | 
				
			||||||
group2           Zweiter (und so weiter durchnummerieren)
 | 
					group2           Zweiter (und so weiter durchnummerieren)
 | 
				
			||||||
 | 
					sampleballotfile Datei mit Musterwahlschein aus dem CfV fuer Dateivergleich (diff)
 | 
				
			||||||
votefile         Mailbox mit eingehenden Stimmen (falls POP3 ausgeschaltet)
 | 
					votefile         Mailbox mit eingehenden Stimmen (falls POP3 ausgeschaltet)
 | 
				
			||||||
mailboxtype      Typ der Mailbox (mbox, maildir)
 | 
					mailboxtype      Typ der Mailbox (mbox, maildir)
 | 
				
			||||||
personal         Personalisierte Wahlscheine verwenden? [BOOL]
 | 
					personal         Personalisierte Wahlscheine verwenden? [BOOL]
 | 
				
			||||||
| 
						 | 
					@ -1026,6 +1032,10 @@ clearcmd         Shellbefehl zum Loeschen des Bildschirms (Standard: clear),
 | 
				
			||||||
                 oder Betriebssystem keinen solchen Befehl bereitstellen,
 | 
					                 oder Betriebssystem keinen solchen Befehl bereitstellen,
 | 
				
			||||||
                 sollte ein Kommando verwendet werden, welches eine Trennlinie
 | 
					                 sollte ein Kommando verwendet werden, welches eine Trennlinie
 | 
				
			||||||
                 oder aehnliches auf dem Bildschirm ausgibt, z.B. mit "echo"
 | 
					                 oder aehnliches auf dem Bildschirm ausgibt, z.B. mit "echo"
 | 
				
			||||||
 | 
					diff             Shellbefehl zum Dateivergleich (diff); es koennen auch 
 | 
				
			||||||
 | 
					                 Parameter angegeben werden, z.B. "diff -u". Das verwendete
 | 
				
			||||||
 | 
					                 Programm muss das Lesen einer Datei von STDIN erlauben
 | 
				
			||||||
 | 
					                 ("-" statt Dateinamen fuer Einlesen von Standardeingabekanal)
 | 
				
			||||||
pager            Shellbefehl zum seitenweisen Darstellen von Mails auf dem
 | 
					pager            Shellbefehl zum seitenweisen Darstellen von Mails auf dem
 | 
				
			||||||
                 Bildschirm (normalerweise "less"). Unter Windows muss "more"
 | 
					                 Bildschirm (normalerweise "less"). Unter Windows muss "more"
 | 
				
			||||||
                 benutzt werden, unter Unix hingegen gibt es moeglicherweise
 | 
					                 benutzt werden, unter Unix hingegen gibt es moeglicherweise
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,6 +27,7 @@ sub read_config {
 | 
				
			||||||
  # Default configuration options (overwritten in usevote.cfg)
 | 
					  # Default configuration options (overwritten in usevote.cfg)
 | 
				
			||||||
  %config = (votefile             => "votes",
 | 
					  %config = (votefile             => "votes",
 | 
				
			||||||
             votename             => "unkonfiguriertes Usevote",
 | 
					             votename             => "unkonfiguriertes Usevote",
 | 
				
			||||||
 | 
					             sampleballotfile     => "ballot.sample",
 | 
				
			||||||
             resultfile           => "ergebnis.alle",
 | 
					             resultfile           => "ergebnis.alle",
 | 
				
			||||||
             rulefile             => "usevote.rul",
 | 
					             rulefile             => "usevote.rul",
 | 
				
			||||||
             badaddrfile          => "mailpatterns.cfg",
 | 
					             badaddrfile          => "mailpatterns.cfg",
 | 
				
			||||||
| 
						 | 
					@ -57,6 +58,7 @@ sub read_config {
 | 
				
			||||||
             mailcc               => "",
 | 
					             mailcc               => "",
 | 
				
			||||||
             sleepcmd             => "sleep 1",
 | 
					             sleepcmd             => "sleep 1",
 | 
				
			||||||
             clearcmd             => "clear",
 | 
					             clearcmd             => "clear",
 | 
				
			||||||
 | 
					             diff                 => "diff",
 | 
				
			||||||
             pager                => "less",
 | 
					             pager                => "less",
 | 
				
			||||||
             pop3                 => 0,
 | 
					             pop3                 => 0,
 | 
				
			||||||
             pop3server           => "localhost",
 | 
					             pop3server           => "localhost",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								UVmenu.pm
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								UVmenu.pm
									
										
									
									
									
								
							| 
						 | 
					@ -70,6 +70,12 @@ sub menu {
 | 
				
			||||||
    my $menucaption = UVmessage::get("MENU_CAPTION");
 | 
					    my $menucaption = UVmessage::get("MENU_CAPTION");
 | 
				
			||||||
    print "\n\n$menucaption\n";
 | 
					    print "\n\n$menucaption\n";
 | 
				
			||||||
    print "=" x length($menucaption), "\n\n";
 | 
					    print "=" x length($menucaption), "\n\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # don't print this option if called from uvcfv.pl
 | 
				
			||||||
 | 
					    unless ($mailonly) {
 | 
				
			||||||
 | 
					      print "(0) ", UVmessage::get("MENU_DIFF_BALLOT"), "\n";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    print "(1) ", UVmessage::get("MENU_SHOW_MAIL"), "\n\n",
 | 
					    print "(1) ", UVmessage::get("MENU_SHOW_MAIL"), "\n\n",
 | 
				
			||||||
          UVmessage::get("MENU_CHANGE_PROPERTIES"), "\n",
 | 
					          UVmessage::get("MENU_CHANGE_PROPERTIES"), "\n",
 | 
				
			||||||
          "(2) ", UVmessage::get("MENU_ADDRESS"), " [$voter_addr]\n";
 | 
					          "(2) ", UVmessage::get("MENU_ADDRESS"), " [$voter_addr]\n";
 | 
				
			||||||
| 
						 | 
					@ -96,7 +102,14 @@ sub menu {
 | 
				
			||||||
    # only accept 1, 2, i and w if called from uvcfv.pl
 | 
					    # only accept 1, 2, i and w if called from uvcfv.pl
 | 
				
			||||||
    next if ($mailonly && $input !~ /^[12iw]$/i);
 | 
					    next if ($mailonly && $input !~ /^[12iw]$/i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ($input eq '1') {
 | 
					    if ($input eq '0') {
 | 
				
			||||||
 | 
					      # ignore SIGPIPE (Bug in more and less)
 | 
				
			||||||
 | 
					      $SIG{PIPE} = 'IGNORE';
 | 
				
			||||||
 | 
					      open (DIFF, "|$config{diff} - $config{sampleballotfile} | $config{pager}");
 | 
				
			||||||
 | 
					      print DIFF $$body, "\n";
 | 
				
			||||||
 | 
					      close (DIFF);
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					    } elsif ($input eq '1') {
 | 
				
			||||||
      system($config{clearcmd});
 | 
					      system($config{clearcmd});
 | 
				
			||||||
      # ignore SIGPIPE (Bug in more and less)
 | 
					      # ignore SIGPIPE (Bug in more and less)
 | 
				
			||||||
      $SIG{PIPE} = 'IGNORE';
 | 
					      $SIG{PIPE} = 'IGNORE';
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,6 +42,7 @@ MENU_UNRECOGNIZED_LIST = Stimme
 | 
				
			||||||
MENU_VIOLATEDRULE = Regel ${RULE} verletzt.
 | 
					MENU_VIOLATEDRULE = Regel ${RULE} verletzt.
 | 
				
			||||||
MENU_PROBLEMS = Die folgenden Probleme muessen beseitigt werden:
 | 
					MENU_PROBLEMS = Die folgenden Probleme muessen beseitigt werden:
 | 
				
			||||||
MENU_CAPTION = Auswahlmenue:
 | 
					MENU_CAPTION = Auswahlmenue:
 | 
				
			||||||
 | 
					MENU_DIFF_BALLOT = Wahlschein mit Original vergleichen (diff)
 | 
				
			||||||
MENU_SHOW_MAIL = Anzeigen der Wahlmail
 | 
					MENU_SHOW_MAIL = Anzeigen der Wahlmail
 | 
				
			||||||
MENU_CHANGE_PROPERTIES = Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
 | 
					MENU_CHANGE_PROPERTIES = Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
 | 
				
			||||||
MENU_ADDRESS = Mailadresse
 | 
					MENU_ADDRESS = Mailadresse
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -77,6 +77,10 @@ multigroup = 1
 | 
				
			||||||
condition1 = $yes>=2*$no
 | 
					condition1 = $yes>=2*$no
 | 
				
			||||||
condition2 = $yes>=50
 | 
					condition2 = $yes>=50
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Datei mit Musterwahlschein, wie er im CfV geposted wurde. Wird fuer
 | 
				
			||||||
 | 
					# Vergleich mit ankommenden Wahlscheinen per "diff" genutzt.
 | 
				
			||||||
 | 
					sampleballotfile = ballot.sample
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Ergebnisdatei, in der alle Einzelergebniss zusammengeschrieben werden
 | 
					# Ergebnisdatei, in der alle Einzelergebniss zusammengeschrieben werden
 | 
				
			||||||
# (wird bei jedem Programmlauf neu erstellt!)
 | 
					# (wird bei jedem Programmlauf neu erstellt!)
 | 
				
			||||||
resultfile = ergebnis.alle
 | 
					resultfile = ergebnis.alle
 | 
				
			||||||
| 
						 | 
					@ -207,6 +211,9 @@ clearcmd = clear
 | 
				
			||||||
# Windows-Verzeichnis kopieren (URL siehe README-Datei)
 | 
					# Windows-Verzeichnis kopieren (URL siehe README-Datei)
 | 
				
			||||||
pager = less
 | 
					pager = less
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Shellbefehl fuer Dateivergleich
 | 
				
			||||||
 | 
					diff = diff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Datei mit diversen Meldungen und Textfragmenten (Resourcendatei)
 | 
					# Datei mit diversen Meldungen und Textfragmenten (Resourcendatei)
 | 
				
			||||||
messagefile = messages.cfg
 | 
					messagefile = messages.cfg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue