Skip to content
Snippets Groups Projects
Commit 4056861b authored by Teal's avatar Teal
Browse files

refactoring & styling

parent 06591d00
No related branches found
No related tags found
No related merge requests found
......@@ -15,3 +15,9 @@
h1, h2, h3, h4, h5, h6 {
@apply font-bold;
}
input[type=submit], button {
@apply border rounded-md px-2 py-1;
&.primary {
@apply bg-teal-800 text-teal-50;
}
}
class AssignmentsController < ApplicationController
before_action :set_session, :set_users
def index
@assignments = Assignment.all
if params[:user_id]
@assignments = @assignments.where(user_id: params[:user_id])
end
end
def create
@user = User.find(params[:user_id])
@assignment = @session.assignments.new(user: @user)
if @assignment.save
redirect_to @session, notice: "User was successfully assigned to session."
else
flash[:alert] = @assignment.errors.full_messages.join(", ")
render 'sessions/show'
end
end
def destroy
@assignment = @session.assignments.find_by(user_id: params[:user_id])
@assignment.destroy
respond_to do |format|
format.html { redirect_to @session, notice: "User assignment removed successfully." }
end
end
private
def set_session
@session = Session.find_by(ref_id: params[:session_ref_id])
end
def set_users
@users = User.all
end
end
......@@ -56,11 +56,15 @@ current_time = @sessions_by_date[@conference.days.first].first.starts_at.advance
<h4><%= link_to session.title, [@conference, session] %></h4>
<p class="session-time"><%= session.starts_at.strftime('%H:%M') %> - <%= session.ends_at.strftime('%H:%M') %></p>
<%#<div class="session-desc"><%= session.description.html_safe %><%#/div>%>
<%= form_with url: assign_user_session_path(@conference, session), method: :post, local: true do |f| %>
<%= f.label :user_id, "Assign User" %>
<%= f.select :user_id, options_from_collection_for_select(@users, :id, :name) %>
<%= f.submit "Assign" %>
<ul class="list-disc">
<% session.assignments.each do |assignment| %>
<li>
<span class="assigned-user"><%= assignment.user.name %></span>
<%= link_to '[Remove]', conference_session_assignments_path(session.conference, session, user_id: assignment.user_id), data: { turbo_method: :delete, confirm: 'Are you sure?' } %>
</li>
<% end %>
</ul>
<%= render partial: "sessions/assignment_form", locals: { session: session } %>
</div>
<% end %>
</div>
......
<%= form_with url: conference_session_assignments_path(session.conference, session), method: :post, local: true do |f| %>
<%= f.select :user_id, options_from_collection_for_select(@users, :id, :name) %>
<%= f.submit "Assign", class: 'primary' %>
<% if @assignment&.errors&.any? %>
<div class="alert alert-danger">
<%= @assignment.errors.full_messages.join(", ") %>
</div>
<% end %>
<% end %>
......@@ -8,27 +8,18 @@
<h3>Assigned Users</h3>
<ul>
<% @session.users.each do |user| %>
<% @session.assignments.each do |assignment| %>
<li>
<%= user.name %>
<%= link_to '[Remove]', unassign_user_session_path([@session.conference, @session], user_id: user.id), data: { turbo_method: :delete, confirm: 'Are you sure?' } %>
<%= assignment.user.name %>
<%= link_to '[Remove]', conference_session_assignments_path(@session.conference, @session, user_id: assignment.user_id), data: { turbo_method: :delete, confirm: 'Are you sure?' } %>
</li>
<% end %>
</ul>
<%= form_with url: assign_user_session_path([@session.conference, @session]), method: :post, local: true do |f| %>
<%= f.label :user_id, "Assign User" %>
<%= f.select :user_id, options_from_collection_for_select(@users, :id, :name) %>
<%= f.submit "Assign" %>
<div id="flash">
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
</div>
<% if @assignment&.errors&.any? %>
<div class="alert alert-danger">
<%= @assignment.errors.full_messages.join(", ") %>
</div>
<% end %>
<% end %>
<%= render partial: "sessions/assignment_form", locals: { session: @session } %>
</div>
\ No newline at end of file
......@@ -10,12 +10,12 @@ Rails.application.routes.draw do
root "conferences#index"
resources :conferences, param: :slug do
resources :sessions do
resource :assigments
resources :sessions, param: :ref_id do
resource :assignments, only: [:create, :destroy]
end
end
resources :assignments
resources :assignments, only: [:index]
resources :sessions, param: :ref_id
# get 'conferences/:slug', to: 'conferences#show', as: :conference
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment