update-rooms (#40)

Co-authored-by: Apodemus <apodemus@github.com>
Reviewed-on: #40
Co-authored-by: Kiara Grouwstra <kiara@bij1.org>
Co-committed-by: Kiara Grouwstra <kiara@bij1.org>
This commit is contained in:
Kiara Grouwstra 2024-01-14 19:45:56 +00:00 committed by kiara
parent 12ee04752b
commit 7ab595bc11
6 changed files with 10 additions and 81 deletions

View File

@ -17,16 +17,7 @@ class RoomsController < ApplicationController
# GET /rooms/new
def new
@room = Room.new
meetings = bbb_server.get_meetings[:meetings].filter { |m| m[:running] }
if meetings.length > 0
meeting = meetings.last
@room.name = meeting[:meetingName]
@room.meeting = meeting[:meetingID]
@room.attendee_pw = meeting[:attendeePW]
@room.moderator_pw = meeting[:moderatorPW]
end
@room = Room.new
end
# GET /rooms/1/edit
@ -119,33 +110,6 @@ class RoomsController < ApplicationController
end
end
# GET /rooms/1/aanwezig
# GET /rooms/1/aanwezig.csv
def present
require 'csv'
# for the desired presence dump the voters
presence = ActiveModel::Type::Boolean.new.cast(params[:v])
conference = get_bbb_attendees(@room)
csv_data = CSV.generate do |csv|
User.where(room_id: @room.id).each do |attendee|
attendee_presence = ActiveModel::Type::Boolean.new.cast(attendee.presence)
present = attendee.presence or conference.include?(attendee.id)
if not attendee.proxy and (present === presence)
if attendee.vote and voter = attendee
csv << ["password", voter.id, voter.email, voter.name]
end
User.where(email: attendee.email, vote: true, proxy: true, room_id: @room.id).each do |proxy|
csv << ["password", proxy.id, proxy.email, "gemachtigde voor #{proxy.name}"]
end
end
end
end
respond_to do |format|
format.csv { send_data csv_data, filename: "#{@room.name} #{Time.zone.now}.csv" }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_room
@ -156,14 +120,4 @@ class RoomsController < ApplicationController
def room_params
params.require(:room).permit(:name, :meeting, :attendee_pw, :moderator_pw, :email_subject, :email_body)
end
def get_bbb_attendees(room)
conference = Set.new()
if bbb_server.is_meeting_running?(room.meeting)
bbb_server.get_meeting_info(room.meeting, room.moderator_pw)[:attendees].each do |attendee|
conference.add(attendee[:userID].to_i)
end
end
conference
end
end

View File

@ -16,21 +16,6 @@
<%= form.text_field :name %>
</div>
<div class="field">
<%= form.label :meeting %>
<%= form.text_field :meeting %>
</div>
<div class="field">
<%= form.label :attendee_pw %>
<%= form.text_field :attendee_pw %>
</div>
<div class="field">
<%= form.label :moderator_pw %>
<%= form.text_field :moderator_pw %>
</div>
<div class="field">
<%= form.label :email_subject %>
<%= form.text_field :email_subject %>

View File

@ -1,2 +1,2 @@
json.extract! room, :id, :name, :meeting, :attendee_pw, :moderator_pw, :email_subject, :email_body, :created_at, :updated_at
json.extract! room, :id, :name, :email_subject, :email_body, :created_at, :updated_at
json.url room_url(room, format: :json)

View File

@ -11,7 +11,7 @@
<th>Moderator pw</th>
<th>Email Subject</th>
<!--<th>Email Body</th>-->
<th colspan="4"></th>
<th colspan="3"></th>
</tr>
</thead>
@ -26,7 +26,6 @@
<!--<td><%= room.email_body %></td>-->
<!--<td><%= link_to 'Show', room %></td>-->
<td><%= link_to 'Users', room_users_path(room) %></td>
<td><%= link_to 'Present Users', room_present_users_path(room) %></td>
<td><%= link_to 'Edit', edit_room_path(room) %></td>
<td><%= link_to 'Destroy', room, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>

View File

@ -5,21 +5,6 @@
<%= @room.name %>
</p>
<p>
<strong>Meeting:</strong>
<%= @room.meeting %>
</p>
<p>
<strong>Attendee pw:</strong>
<%= @room.attendee_pw %>
</p>
<p>
<strong>Moderator pw:</strong>
<%= @room.moderator_pw %>
</p>
<p>
<strong>Email Subject:</strong>
<%= @room.email_subject %>
@ -34,5 +19,4 @@
<%= link_to 'Edit', edit_room_path(@room) %> |
<%= link_to 'Import Users', bulk_new_room_users_path(@room), method: :get %> |
<%= link_to 'Import Votes', bulk_new_room_votes_path(@room), method: :get %> |
<%= link_to 'Present Users', room_present_users_path(@room) %> |
<%= link_to 'Back', rooms_path %>

View File

@ -0,0 +1,7 @@
class RemoveBBBFromRoom < ActiveRecord::Migration[6.0]
def change
remove_column :rooms, :meeting
remove_column :rooms, :attendee_pw
remove_column :rooms, :moderator_pw
end
end