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
							
								
									300f47d616
								
							
						
					
					
						commit
						e91a2b7fa5
					
				
					 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:
 | 
			
		||||
- 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
 | 
			
		||||
oder wdiff zwischen Sollwahlschein und wirklich eingreichtem
 | 
			
		||||
Wahlschein macht. Auf diese Weise erwischt man auch kleine Änderungen
 | 
			
		||||
am Datenschutzhinweis (da bin ich eben in eine Falle von th-h getappt).
 | 
			
		||||
 | 
			
		||||
Version 4.12 (19.01.2014):
 | 
			
		||||
- neue Config-Optionen "diff" und "sampleballotfile"
 | 
			
		||||
- im Fehlermenue bei der Wahlscheinverarbeitung ist es nun moeglich,
 | 
			
		||||
  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):
 | 
			
		||||
- 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
 | 
			
		||||
usevote.cfg, darin können alle anderen Pfade angepasst werden):
 | 
			
		||||
 | 
			
		||||
ballot.sample
 | 
			
		||||
bdsgtext.cfg
 | 
			
		||||
mailpatterns.cfg
 | 
			
		||||
messages.cfg
 | 
			
		||||
| 
						 | 
				
			
			@ -404,6 +405,7 @@ mit einzelnen Stimmen wirst Du interaktiv durch Menues gefuehrt.
 | 
			
		|||
Meistens gibt es folgende Moeglichkeiten, die durch die
 | 
			
		||||
eingeklammerten Buchstaben und Zahlen aufgerufen werden koennen:
 | 
			
		||||
 | 
			
		||||
(0) Wahlschein mit Original vergleichen (diff)
 | 
			
		||||
(1) Anzeigen der Wahlmail
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
der bemaengelten Punkte entscheiden, ob der Wahlschein gueltig
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
group1           Erster Abstimmungsgegenstand
 | 
			
		||||
group2           Zweiter (und so weiter durchnummerieren)
 | 
			
		||||
sampleballotfile Datei mit Musterwahlschein aus dem CfV fuer Dateivergleich (diff)
 | 
			
		||||
votefile         Mailbox mit eingehenden Stimmen (falls POP3 ausgeschaltet)
 | 
			
		||||
mailboxtype      Typ der Mailbox (mbox, maildir)
 | 
			
		||||
personal         Personalisierte Wahlscheine verwenden? [BOOL]
 | 
			
		||||
| 
						 | 
				
			
			@ -1026,6 +1032,10 @@ clearcmd         Shellbefehl zum Loeschen des Bildschirms (Standard: clear),
 | 
			
		|||
                 oder Betriebssystem keinen solchen Befehl bereitstellen,
 | 
			
		||||
                 sollte ein Kommando verwendet werden, welches eine Trennlinie
 | 
			
		||||
                 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
 | 
			
		||||
                 Bildschirm (normalerweise "less"). Unter Windows muss "more"
 | 
			
		||||
                 benutzt werden, unter Unix hingegen gibt es moeglicherweise
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,7 @@ sub read_config {
 | 
			
		|||
  # Default configuration options (overwritten in usevote.cfg)
 | 
			
		||||
  %config = (votefile             => "votes",
 | 
			
		||||
             votename             => "unkonfiguriertes Usevote",
 | 
			
		||||
             sampleballotfile     => "ballot.sample",
 | 
			
		||||
             resultfile           => "ergebnis.alle",
 | 
			
		||||
             rulefile             => "usevote.rul",
 | 
			
		||||
             badaddrfile          => "mailpatterns.cfg",
 | 
			
		||||
| 
						 | 
				
			
			@ -57,6 +58,7 @@ sub read_config {
 | 
			
		|||
             mailcc               => "",
 | 
			
		||||
             sleepcmd             => "sleep 1",
 | 
			
		||||
             clearcmd             => "clear",
 | 
			
		||||
             diff                 => "diff",
 | 
			
		||||
             pager                => "less",
 | 
			
		||||
             pop3                 => 0,
 | 
			
		||||
             pop3server           => "localhost",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								UVmenu.pm
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								UVmenu.pm
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -69,6 +69,12 @@ sub menu {
 | 
			
		|||
    my $menucaption = UVmessage::get("MENU_CAPTION");
 | 
			
		||||
    print "\n\n$menucaption\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",
 | 
			
		||||
          UVmessage::get("MENU_CHANGE_PROPERTIES"), "\n",
 | 
			
		||||
          "(2) ", UVmessage::get("MENU_ADDRESS"), " [$voter_addr]\n";
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +101,14 @@ sub menu {
 | 
			
		|||
    # only accept 1, 2, i and w if called from uvcfv.pl
 | 
			
		||||
    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});
 | 
			
		||||
      # ignore SIGPIPE (Bug in more and less)
 | 
			
		||||
      $SIG{PIPE} = 'IGNORE';
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,7 @@ MENU_UNRECOGNIZED_LIST = Stimme
 | 
			
		|||
MENU_VIOLATEDRULE = Regel ${RULE} verletzt.
 | 
			
		||||
MENU_PROBLEMS = Die folgenden Probleme muessen beseitigt werden:
 | 
			
		||||
MENU_CAPTION = Auswahlmenue:
 | 
			
		||||
MENU_DIFF_BALLOT = Wahlschein mit Original vergleichen (diff)
 | 
			
		||||
MENU_SHOW_MAIL = Anzeigen der Wahlmail
 | 
			
		||||
MENU_CHANGE_PROPERTIES = Bestaetigen oder Aendern von Wahlschein-Eigenschaften:
 | 
			
		||||
MENU_ADDRESS = Mailadresse
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,6 +77,10 @@ multigroup = 1
 | 
			
		|||
condition1 = $yes>=2*$no
 | 
			
		||||
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
 | 
			
		||||
# (wird bei jedem Programmlauf neu erstellt!)
 | 
			
		||||
resultfile = ergebnis.alle
 | 
			
		||||
| 
						 | 
				
			
			@ -208,6 +212,9 @@ clearcmd = clear
 | 
			
		|||
# Windows-Verzeichnis kopieren (URL siehe README-Datei)
 | 
			
		||||
pager = less
 | 
			
		||||
 | 
			
		||||
# Shellbefehl fuer Dateivergleich
 | 
			
		||||
diff = diff
 | 
			
		||||
 | 
			
		||||
# Datei mit diversen Meldungen und Textfragmenten (Resourcendatei)
 | 
			
		||||
messagefile = messages.cfg
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue