91 lines
4.7 KiB
Plaintext
91 lines
4.7 KiB
Plaintext
<tr id="<%= dom_id job %>" class="bg-status-<%= job.status %>-light odd:bg-opacity-20 even:bg-opacity-10 text-hsrm-gray whitespace-nowrap hover:bg-opacity-30">
|
|
<td class="p-2 py-3 text-center">
|
|
<span class="badge badge-xl text-status-<%= job.status %> bg-status-<%= job.status %>-light">
|
|
<%= job.id %>
|
|
</span>
|
|
</td>
|
|
<td class="p-2 py-3 text-center">
|
|
<% if job.pdf.attached? %>
|
|
<%= link_to_if job.printing?, image_tag(url_for(job.pdf.preview(resize_to_limit: [100, 100])), class:"shadow-lg"), job.pdf, target: "_blank" %>
|
|
<!--<iframe src=<%= url_for(job.pdf) %> width="500" height="700" style="border: none;"></iframe>-->
|
|
<% end %>
|
|
</td>
|
|
<td class="p-2 py-3">
|
|
<%= job.costumer_fullname %>
|
|
</td>
|
|
<td class="p-2 py-3">
|
|
<% if job.pdf.attached? %>
|
|
<%= link_to_if job.printing?, icon("document-arrow-down", class: "text-hsrm-gray #{ unless job.printing?; 'text-opacity-25' else; 'hover:text-opacity-75'; end} size-6 inline", title: "Download"), job.pdf, download:true %>
|
|
<%#= link_to job.pdf.filename, rails_blob_path(job.pdf, disposition: "attachment") %>
|
|
<%= link_to_if job.printing?, truncate(job.pdf.filename.to_s, length: 45), job.pdf, download:true %>
|
|
<span class="ml-2 badge">
|
|
<%=number_to_human_size job.pdf.blob.byte_size%>
|
|
</span>
|
|
<% end %>
|
|
</td>
|
|
<% Job::AVAILABLE_PAGE_FORMATS.each do |din| %>
|
|
<td class="p-1 py-3">
|
|
<% if job.printing? %>
|
|
<div class="flex flex-col items-center">
|
|
<span class="badge badge-hover">
|
|
<%= button_to icon("chevron-up", class: "size-5 inline", title: "erhöhen"), increment_page_operator_job_path(job, din:), method: :patch, form_class: "inline" %>
|
|
</span>
|
|
<% end %>
|
|
<span class="badge">
|
|
<%= job.public_send("number_of_plans_#{din}") if job.respond_to? "number_of_plans_#{din}" %>
|
|
</span>
|
|
<% if job.printing? %>
|
|
<span class="badge badge-hover">
|
|
<%= button_to icon("chevron-down", class: "size-5 inline", title: "verringern"), decrement_page_operator_job_path(job, din:), method: :patch, form_class: "inline" %>
|
|
</span>
|
|
</div>
|
|
<% end %>
|
|
</td>
|
|
<% end %>
|
|
<td class="p-2 py-3 text-right">
|
|
<span class="badge">
|
|
<%= job.costum_qm_plan.round(2) %> m²
|
|
</span>
|
|
</td>
|
|
<td class="w-24 p-2 py-3 text-right">
|
|
<span class="badge">
|
|
<%= job.cost.round(2) %> €
|
|
</span>
|
|
</td>
|
|
<td class="p-2 py-3">
|
|
<span class="badge badge-status text-status-<%= job.status.to_sym %> bg-status-<%= job.status %>-light">
|
|
<%= job.status %>
|
|
</span>
|
|
</td>
|
|
<td class="p-2 py-3 text-right">
|
|
<!-- TODO: move logic to model -->
|
|
<% if job.printing? || job.canceled? || job.paid? %>
|
|
<%= button_to icon("inbox-stack", class: "icon", title: "Zurück in die Warteschlange"), operator_job_path(job), method: :patch, params: {:job => {status: :open}}, form_class: "inline" %>
|
|
<% else %>
|
|
<%= icon("inbox-stack", class: "icon icon-disabled", title: "") %>
|
|
<% end %>
|
|
<% if job.open? || job.canceled? || job.paid? %>
|
|
<%= button_to icon("printer", class: "icon", title: "Drucken"), operator_job_path(job), method: :patch, params: {:job => {status: :printing}}, form_class: "inline" %>
|
|
<% else %>
|
|
<%= icon("printer", class: "icon icon-disabled", title: "") %>
|
|
<% end %>
|
|
<% if job.printing? || job.paid? %>
|
|
<% job.printing? && turbo_confirm = 'Sind die Pläne gedruckt und die Seitenanzahl und QM korrekt?' %>
|
|
<%= button_to icon("arrow-up-tray", class: "icon", title: "Pläne sind fertig gedruckt und bereit abgeholt zu werden."), operator_job_path(job), method: :patch, params: {:job => {status: :pickup}}, form: {data: {turbo_confirm: turbo_confirm}}, form_class: "inline" %>
|
|
<% else %>
|
|
<%= icon("arrow-up-tray", class: "icon icon-disabled", title: "") %>
|
|
<% end %>
|
|
<% if job.pickup? || job.printing? %>
|
|
<% job.printing? && turbo_confirm = 'Sind die Pläne gedruckt und die Seitenanzahl und QM korrekt?' %>
|
|
<%= button_to icon("banknotes", class: "icon", title: "Bezahlt"), operator_job_path(job), method: :patch, params: {:job => {status: :paid}}, form: {data: {turbo_confirm: turbo_confirm}}, form_class: "inline" %>
|
|
<% else %>
|
|
<%= icon("banknotes", class: "icon icon-disabled ", title: "") %>
|
|
<% end %>
|
|
<% if job.open? || job.printing? || job.pickup? %>
|
|
<%= button_to icon("x-circle", class: "icon text-hsrm-red", title: "Abbrechen"), operator_job_path(job), method: :patch, params: {:job => {status: :canceled}}, form: {data: {turbo_confirm: 'Den Plottauftrag wirklich abbrechen?'}}, form_class: "inline" %>
|
|
<% else %>
|
|
<%= icon("x-circle", class: "icon icon-disabled", title: "Kann nicht mehr abgebrochen werden") %>
|
|
<% end %>
|
|
</td>
|
|
</tr>
|