add voting portal #7
Loading…
Reference in New Issue
No description provided.
Delete Branch "vote"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
de huidige opzet hier houdt in dat de tokens van leden voor een vergadering, voorheen alleen gebruikt voor hun persoonlijke links tot de digitale vergadering (die hun naam instelt in BigBlueButton en ze als aanwezig markeerde voor stemmingen), nu ook gebruikt worden voor de link naar de stem portaal.
implicatie hiervan is dat Ingang admins zo ook toegang krijgen tot de stem credentials, in plaats van enkel de systeembeheerders met toegang tot de Helios database.
waar die kennis iemand wel in staat stelt om namens een ander te stemmen, wordt dit risico in check gehouden doordat dit niet ongemerkt gaat: na het uitbrengen van een stem wordt er naar het bijbehorende email adres een bevestiging gestuurd.
het risico bij anderszins kwaadwillenden die de info verkrijgen is hetzelfde; gebruik ervan gaat niet ongemerkt.
waar het mogelijk zou zijn om van de bestaande token af te wijken voor dit doeleinde naar een hash niet zichtbaar voor Ingang admins, zou dit ook nadelen hebben.
af en toe hebben we leden voor wie de mailtjes uit Ingang niet makkelijk aankomen, in welk geval we nu handmatig een inlog link kunnen doorgeven.
mochten de nodige info hiervoor niet meer beschikbaar zijn voor degene die een ALV technisch runt, dan worden juist dit soort situaties weer lastiger.
@ -142,2 +142,4 @@
def destroy_all
@users.each do |user|
Vote.where(user_id: user.id).each do |vote|
vote.destroy
Moeten
votes
ook niet verwijderd worden bij het verwijderen van een enkele user? ziedestroy
functiewat betreft veiligheid. je gaf aan dat admins bij de stemmen kunnen. zo te zien kunnen admins ook stemmen verwijderen.
ik raad aan de stemmen niet uit de database te verwijderen, maar ze enkel op 'verwijderd' te zetten.
dank, update gepusht voor
destroy
.de info in de vote tabel is niet langer relevant dan ten tijde van de login om te stemmen zonder email.
vervolgens krijgen stemmers een mailtje met info om hun stem te verifieren, en vervalt de relevantie van de oorspronkelijke login.
@ -0,0 +1,75 @@
class VotesController < ApplicationController
http_basic_authenticate_with name: Rails.application.config.admin_name,
opmerking voor later: niet heel handig dat alle admins met hetzelfde account inloggen. hierdoor kan je niet bijhouden wie welke handeling heeft verricht..
eens, is wat het resultaat geweest van meer projecten dan mensen.
de data in dit project is van zeer tijdelijke aard tho, en verwachting tot nu toe is geweest dat deze ivm AVG na de dag van de vergadering weer verwijderd wordt.
@ -0,0 +35,4 @@
vote_fields = {
:room_id => room_id,
:user_id => user.id,
:election_slug => csv_fields[:short_name],
this code probably fails if
:user_id
and:election_slug
combination already exists. catch duplicate exception.thanks! looks like your ruby already got better than mine ;), i indeed had yet to test upserts, and it does indeed turn out my db uniqueness constraint won't do here.
i'll try and push an update to address this. got the code now, but seems to use upsert i should still migrate it from sqlite to postgres as well.
i pushed some commits to address this, manually tested to verify this works now.
@ -0,0 +52,4 @@
# DELETE /rooms/:room_id/votes.json
def destroy_for_room
@votes.each do |vote|
vote.destroy
wederom: waarom verwijder functies van stemmen? overweeg
soft deletes