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

refactoring & styling

parent 06591d00
Branches
Tags
No related merge requests found
...@@ -15,3 +15,9 @@ ...@@ -15,3 +15,9 @@
h1, h2, h3, h4, h5, h6 { h1, h2, h3, h4, h5, h6 {
@apply font-bold; @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 class AssignmentsController < ApplicationController
before_action :set_session, :set_users
def index def index
@assignments = Assignment.all @assignments = Assignment.all
if params[:user_id] if params[:user_id]
@assignments = @assignments.where(user_id: params[:user_id]) @assignments = @assignments.where(user_id: params[:user_id])
end end
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 end
...@@ -56,11 +56,15 @@ current_time = @sessions_by_date[@conference.days.first].first.starts_at.advance ...@@ -56,11 +56,15 @@ current_time = @sessions_by_date[@conference.days.first].first.starts_at.advance
<h4><%= link_to session.title, [@conference, session] %></h4> <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> <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>%> <%#<div class="session-desc"><%= session.description.html_safe %><%#/div>%>
<%= form_with url: assign_user_session_path(@conference, session), method: :post, local: true do |f| %> <ul class="list-disc">
<%= f.label :user_id, "Assign User" %> <% session.assignments.each do |assignment| %>
<%= f.select :user_id, options_from_collection_for_select(@users, :id, :name) %> <li>
<%= f.submit "Assign" %> <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 %> <% end %>
</ul>
<%= render partial: "sessions/assignment_form", locals: { session: session } %>
</div> </div>
<% end %> <% end %>
</div> </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 @@ ...@@ -8,27 +8,18 @@
<h3>Assigned Users</h3> <h3>Assigned Users</h3>
<ul> <ul>
<% @session.users.each do |user| %> <% @session.assignments.each do |assignment| %>
<li> <li>
<%= user.name %> <%= assignment.user.name %>
<%= link_to '[Remove]', unassign_user_session_path([@session.conference, @session], user_id: user.id), data: { turbo_method: :delete, confirm: 'Are you sure?' } %> <%= link_to '[Remove]', conference_session_assignments_path(@session.conference, @session, user_id: assignment.user_id), data: { turbo_method: :delete, confirm: 'Are you sure?' } %>
</li> </li>
<% end %> <% end %>
</ul> </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"> <div id="flash">
<% flash.each do |key, value| %> <% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div> <div class="alert alert-<%= key %>"><%= value %></div>
<% end %> <% end %>
</div> </div>
<% if @assignment&.errors&.any? %> <%= render partial: "sessions/assignment_form", locals: { session: @session } %>
<div class="alert alert-danger">
<%= @assignment.errors.full_messages.join(", ") %>
</div>
<% end %>
<% end %>
</div> </div>
\ No newline at end of file
...@@ -10,12 +10,12 @@ Rails.application.routes.draw do ...@@ -10,12 +10,12 @@ Rails.application.routes.draw do
root "conferences#index" root "conferences#index"
resources :conferences, param: :slug do resources :conferences, param: :slug do
resources :sessions do resources :sessions, param: :ref_id do
resource :assigments resource :assignments, only: [:create, :destroy]
end end
end end
resources :assignments resources :assignments, only: [:index]
resources :sessions, param: :ref_id resources :sessions, param: :ref_id
# get 'conferences/:slug', to: 'conferences#show', as: :conference # 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