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:
parent
12ee04752b
commit
7ab595bc11
|
@ -17,16 +17,7 @@ class RoomsController < ApplicationController
|
||||||
|
|
||||||
# GET /rooms/new
|
# GET /rooms/new
|
||||||
def new
|
def new
|
||||||
@room = Room.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
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /rooms/1/edit
|
# GET /rooms/1/edit
|
||||||
|
@ -119,33 +110,6 @@ class RoomsController < ApplicationController
|
||||||
end
|
end
|
||||||
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
|
private
|
||||||
# Use callbacks to share common setup or constraints between actions.
|
# Use callbacks to share common setup or constraints between actions.
|
||||||
def set_room
|
def set_room
|
||||||
|
@ -156,14 +120,4 @@ class RoomsController < ApplicationController
|
||||||
def room_params
|
def room_params
|
||||||
params.require(:room).permit(:name, :meeting, :attendee_pw, :moderator_pw, :email_subject, :email_body)
|
params.require(:room).permit(:name, :meeting, :attendee_pw, :moderator_pw, :email_subject, :email_body)
|
||||||
end
|
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
|
end
|
||||||
|
|
|
@ -16,21 +16,6 @@
|
||||||
<%= form.text_field :name %>
|
<%= form.text_field :name %>
|
||||||
</div>
|
</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">
|
<div class="field">
|
||||||
<%= form.label :email_subject %>
|
<%= form.label :email_subject %>
|
||||||
<%= form.text_field :email_subject %>
|
<%= form.text_field :email_subject %>
|
||||||
|
|
|
@ -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)
|
json.url room_url(room, format: :json)
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<th>Moderator pw</th>
|
<th>Moderator pw</th>
|
||||||
<th>Email Subject</th>
|
<th>Email Subject</th>
|
||||||
<!--<th>Email Body</th>-->
|
<!--<th>Email Body</th>-->
|
||||||
<th colspan="4"></th>
|
<th colspan="3"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@
|
||||||
<!--<td><%= room.email_body %></td>-->
|
<!--<td><%= room.email_body %></td>-->
|
||||||
<!--<td><%= link_to 'Show', room %></td>-->
|
<!--<td><%= link_to 'Show', room %></td>-->
|
||||||
<td><%= link_to 'Users', room_users_path(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 'Edit', edit_room_path(room) %></td>
|
||||||
<td><%= link_to 'Destroy', room, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
<td><%= link_to 'Destroy', room, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -5,21 +5,6 @@
|
||||||
<%= @room.name %>
|
<%= @room.name %>
|
||||||
</p>
|
</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>
|
<p>
|
||||||
<strong>Email Subject:</strong>
|
<strong>Email Subject:</strong>
|
||||||
<%= @room.email_subject %>
|
<%= @room.email_subject %>
|
||||||
|
@ -34,5 +19,4 @@
|
||||||
<%= link_to 'Edit', edit_room_path(@room) %> |
|
<%= link_to 'Edit', edit_room_path(@room) %> |
|
||||||
<%= link_to 'Import Users', bulk_new_room_users_path(@room), method: :get %> |
|
<%= 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 'Import Votes', bulk_new_room_votes_path(@room), method: :get %> |
|
||||||
<%= link_to 'Present Users', room_present_users_path(@room) %> |
|
|
||||||
<%= link_to 'Back', rooms_path %>
|
<%= link_to 'Back', rooms_path %>
|
||||||
|
|
|
@ -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
|
Loading…
Reference in New Issue