Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • c3lingo/rescheduled
1 result
Show changes
Commits on Source (8)
Showing
with 29 additions and 78 deletions
module AssignmentsHelper
end
module ConferencesHelper
end
module SessionsHelper
end
module SpeakersHelper
end
module UsersHelper
end
......@@ -51,9 +51,13 @@ export default class extends Controller {
this.clearTarget.classList.add("hidden");
}
const filter = document.querySelector(this.element.dataset.filterSelector);
// Filter options by the `data-filteredlist-match` attribute
for (const option of this.listTarget.children) {
if (option.dataset.filteredlistMatch.includes(query)) {
const uid = option.querySelector("a.add_button").dataset.user;
const unavailable = filter && filter.querySelector(`a[data-uid="${uid}"]`);
if (!unavailable && option.dataset.filteredlistMatch.includes(query)) {
option.classList.remove("hidden");
} else {
option.classList.add("hidden");
......
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
connect() {
this.element.textContent = "Hello World!"
}
}
......@@ -13,7 +13,7 @@ export default class extends Controller {
connect() {
const uid = document.body.dataset.loggedinUid;
const isCandidate = this.candidatesTarget.querySelector(`a.candidate[data-candidate-uid="${uid}"]`);
const isCandidate = this.candidatesTarget.querySelector(`a.candidate[data-uid="${uid}"]`);
const isShiftcoordinator = document.body.dataset.isShiftcoordinator;
this.element.querySelectorAll('.only-loggedin').forEach(el => {
......
class ApplicationMailer < ActionMailer::Base
default from: "from@example.com"
layout "mailer"
end
<span class="inline-flex items-center gap-x-0.5 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 ring-1 ring-inset ring-gray-500/10" style="background-color: <%= user.avatar_color %>" title="<%= user.name %>">
<span class="inline-flex items-center gap-x-0.5 rounded-full bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 ring-1 ring-inset ring-gray-500/10 indent-0" style="background-color: <%= user.avatar_color %>" title="<%= user.name %>">
<span style="color: <%= user.text_color %>"><%= user.name %></span>
</span>
<%
# user.name.split(/\s+/).map(&:first).join('')
%>
\ No newline at end of file
%>
<div data-controller="filteredlist" data-conference="<%= session.conference.slug %>" data-session="<%= session.ref_id %>">
<div data-controller="filteredlist" data-conference="<%= session.conference.slug %>" data-session="<%= session.ref_id %>" data-filter-selector="#<%= dom_id(session) %> .assigned">
<div class="relative">
<input
type="text"
......
<h5 class="text-base mt-2 <%= Time.parse(date).end_of_day < now ? "past" : "future" %>"><%= date %></h5>
<ol class="list-inside">
<% assignments_on_date.each do |assignment| %>
<li class="<%= assignment.session.starts_at < now ? "past" : "future" %> indent-[-1rem] ml-4">
<span class="tabular-nums"><%= assignment.session.starts_at.strftime('%H:%M') %> &ndash; <%= assignment.session.ends_at.strftime('%H:%M') %></span>:
<%= render partial: 'shared/session_filedrop', locals: { session: assignment.session } %><%= link_to assignment.session.title, conference_session_path(assignment.session.conference, assignment.session) %><%= render partial: 'shared/session_engelsystem', locals: { session: assignment.session } %> @ <%= assignment.session.stage.name %>
<small><% assignment.session.assignments.map(&:user).each do |other_user| %>
<%= render partial: 'application/user_avatar', locals: { user: other_user } %>
<% end %></small>
</li>
<% end %>
</ol>
......@@ -2,7 +2,7 @@
<span class="inline-flex items-center gap-x-0.5 rounded-md bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 ring-1 ring-inset ring-gray-500/10" style="background-color: <%= user.avatar_color %>" title="<%= user.name %>">
<span style="color: <%= user.text_color %>"><%= user.name %></span>
<button type="button" class="only-shiftcoordinator hidden group relative -mr-1 size-3.5 rounded-sm hover:bg-gray-500/20">
<%= link_to conference_session_assignment_path(assignment.session.conference, assignment.session, assignment), data: { turbo_method: :delete, confirm: 'Are you sure?' }, method: :delete do %>
<%= link_to conference_session_assignment_path(assignment.session.conference, assignment.session, assignment), data: { turbo_method: :delete, confirm: 'Are you sure?', uid: user.id }, method: :delete do %>
<span class="sr-only">Remove</span>
<svg viewBox="0 0 14 14" class="size-3.5 stroke-gray-600/50 group-hover:stroke-gray-600/75" style="stroke: <%= user.text_color %>">
<path d="M4 4l6 6m0-6l-6 6" />
......
<div>
<div class="max-w-full">
<h1 class="text-xl my-4 dark:text-red-500">
Assignments for
<%= link_to @user.name, user_assignments_path(@user) %>
......@@ -8,24 +8,13 @@
<div>
<h2 class="text-lg my-4">List View</h2>
<% @user.assignments.includes(:session, session: :conference).order('sessions.starts_at').group_by { |a| a.session.starts_at.strftime('%Y-%m-%d') }.each do |date, assignments_on_date| %>
<h5 class="text-base mt-2 <%= Time.parse(date).end_of_day < now ? "past" : "future" %>"><%= date %></h5>
<ol class="list-inside">
<% assignments_on_date.each do |assignment| %>
<li class="<%= assignment.session.starts_at < now ? "past" : "future" %>">
<span class="tabular-nums"><%= assignment.session.starts_at.strftime('%H:%M') %> &ndash; <%= assignment.session.ends_at.strftime('%H:%M') %></span>:
<%= render partial: 'shared/session_filedrop', locals: { session: assignment.session } %><%= link_to assignment.session.title, conference_session_path(assignment.session.conference, assignment.session) %> @ <%= assignment.session.stage.name %><%= render partial: 'shared/session_engelsystem', locals: { session: assignment.session } %>
<small><% assignment.session.assignments.map(&:user).each do |other_user| %>
<%= render partial: 'application/user_avatar', locals: { user: other_user } %>
<% end %></small>
</li>
<% end %>
</ol>
<%= render partial: 'listview_date', locals: { assignments_on_date:, date:, now: } %>
<% end %>
</div>
<div>
<h2 class="text-lg my-4">Table View</h2>
<table class="border *:border">
<div class="overflow-x-auto max-w-full">
<h2 class="text-lg my-4 sticky left-0">Table View</h2>
<table class="border *:border w-full">
<thead>
<tr class="*:font-bold *:border">
<th>Date</th>
......
......@@ -15,18 +15,7 @@
<div class="my-4">
<h4 class="text-xl my-2" id="<%= dom_id(user) %>"><%= link_to user.name, user_assignments_path(user) %> <span class="font-normal"><%= link_to user_assignments_path(user, format: 'ics') do %><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" class="ml-2 mb-1 size-4 inline-block stroke-slate-400 fill-slate-400"><path fill-rule="evenodd" d="M5.75 2a.75.75 0 01.75.75V4h7V2.75a.75.75 0 011.5 0V4h.25A2.75 2.75 0 0118 6.75v8.5A2.75 2.75 0 0115.25 18H4.75A2.75 2.75 0 012 15.25v-8.5A2.75 2.75 0 014.75 4H5V2.75A.75.75 0 015.75 2zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75z" clip-rule="evenodd"></path></svg><% end %></span></h4>
<% assignments.group_by { |a| a.session.starts_at.strftime('%Y-%m-%d') }.each do |date, assignments_on_date| %>
<h5 class="text-base mt-2 <%= Time.parse(date).end_of_day < now ? "past" : "future" %>"><%= date %></h5>
<ol class="list-inside">
<% assignments_on_date.each do |assignment| %>
<li class="<%= assignment.session.starts_at < now ? "past" : "future" %>">
<span class="tabular-nums"><%= assignment.session.starts_at.strftime('%H:%M') %> &ndash; <%= assignment.session.ends_at.strftime('%H:%M') %></span>:
<%= render partial: 'shared/session_filedrop', locals: { session: assignment.session } %><%= link_to assignment.session.title, conference_session_path(assignment.session.conference, assignment.session) %><%= render partial: 'shared/session_engelsystem', locals: { session: assignment.session } %> @ <%= assignment.session.stage.name %>
<small><% assignment.session.assignments.map(&:user).each do |other_user| %>
<%= render partial: 'application/user_avatar', locals: { user: other_user } %>
<% end %></small>
</li>
<% end %>
</ol>
<%= render partial: 'listview_date', locals: { assignments_on_date:, date:, now: } %>
<% end %>
</div>
<% end %>
......
<div>
<h1 class="font-bold text-4xl dark:text-red-500">Assignments#show</h1>
<p>Find me in app/views/assignments/show.html.erb</p>
</div>
......@@ -3,7 +3,7 @@
<span class="gap-x-0.5 rounded-md bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 ring-1 ring-inset ring-gray-500/10" style="background-color: <%= user.avatar_color %>" title="<%= user.name %>">
<span style="color: <%= user.text_color %>"><%= user.name %></span>
<button type="button" class="only-shiftcoordinator hidden group relative -mr-1 size-3.5 rounded-sm hover:bg-gray-500/20">
<%= link_to conference_session_assignments_path(session.conference, session, user_id: user.id), class: "candidate", data: { turbo_method: :post, turbo_frame: dom_id(session), candidate_uid: user.id } do %>
<%= link_to conference_session_assignments_path(session.conference, session, user_id: user.id), class: "candidate", data: { turbo_method: :post, turbo_frame: dom_id(session), uid: user.id } do %>
<span class="sr-only">Add</span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" stroke-width="1" class="size-3.5 stroke-gray-600/50 group-hover:stroke-gray-600/75 fill-gray-600/50" style="stroke: <%= user.text_color %>; fill: <%= user.text_color %>">
<path d="M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z" />
......
<div>
<h1 class="font-bold text-4xl dark:text-red-500">FiledropFiles#download</h1>
<p>Find me in app/views/filedrop_files/download.html.erb</p>
</div>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
/* Email styles need to be inline */
</style>
</head>
<body>
<%= yield %>
</body>
</html>
<%= yield %>