░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/app/views/jobs
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: index.html.erb
<% # Copyright (C) 2011 - present Instructure, Inc. # # This file is part of Canvas. # # Canvas is free software: you can redistribute it and/or modify it under # the terms of the GNU Affero General Public License as published by the Free # Software Foundation, version 3 of the License. # # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more # details. # # You should have received a copy of the GNU Affero General Public License along # with this program. If not, see <http://www.gnu.org/licenses/>. %> <% provide :page_title do %><%= t :title, "Jobs CP" %><% end %> <style type="text/css"> #content { position: relative; padding: 10px; } span.has-failed-attempts, span.on-hold, span.slow { color: orange; } span.has-failed-max-attempts, span.super-slow { color: red; } dl#job-attributes dt { float:<%= direction('left') %>; clear:left; } dl#job-attributes dd { padding-<%= direction('left') %>: 2em; float:<%= direction('left') %>; } #show-job { margin-<%= direction('left') %>: 25px; float:<%= direction('left') %>; } #show-job dt { font-weight: bold; } #show-job h4 { font-size: 14px; } h2 { font-size: 16px; } div.grid { border: 2px solid #ccc; margin-bottom: 10px; } #tags-wrapper h2 { float:<%= direction('left') %>; } #tags-flavor { float:<%= direction('right') %>; } #jobs-grid { float:<%= direction('left') %>; margin-top: 6px; } .slick-row.ui-state-active { color: black; font-weight: normal; } .selected { background-color: #ddd; } .show-field-wrapper { display: none; } textarea.show-field { width: 850px; height: 630px; } .unloaded-id { color: #aaa; } </style> <% css_bundle :slickgrid %> <% deferred_js_bundle :jobs %> <div id="running-wrapper" style="float:<%= direction('left') %>"> <h2><%= t 'headings.running_jobs', "Running Jobs" %></h2> <div id="running-grid" style="width:700px; height:250px;" class='grid'> </div> </div> <div id="tags-wrapper" style="float:<%= direction('right') %>"> <h2><%= t 'headings.popular_tags', "Popular Tags" %></h2> <select id="tags-flavor"> <%= options_for_select([[t('job_options.current', "Current"), 'current'], [t('job_options.all', "All"), 'all']], @flavor) %> </select> <div id="tags-grid" style="clear:both; width:250px; height:250px" class='grid'> </div> </div> <div style="clear:both"> <h2><%= t 'headings.jobs_list', "Jobs List" %></h2> <div id="jobs-grid-controls"> <select id="jobs-flavor"> <%= options_for_select([[t('job_options.current', "Current"), 'current'], [t('job_options.future', "Future"), 'future'], [t('job_options.failed', "Failed"), 'failed'], [t('job_options.id', "ID"), 'id'], [t('job_options.strand', "Strand"), 'strand'], [t('job_options.tag', "Tag"), 'tag'], ], @flavor) %> </select> <input type='search' results='15' placeholder='<%= t :search_jobs, "Search Jobs" %>' autosave='canvas-jobs-search' id='jobs-search' name='q' value="<%= params[:q].presence %>" /> <button id='jobs-refresh'><%= t '#buttons.refresh', "refresh" %></button> <%= before_label :total_jobs, "Total" %> <span id='jobs-total'><%= @jobs_count %></span> <% if Account.site_admin.grants_right?(@current_user, :manage_jobs) %> <button id='select-all-jobs'><%= t 'buttons.select_all', 'select all' %></button> <%= before_label :with_selection, "With Selection" %> <button id='hold-jobs'><%= t 'buttons.hold', 'hold' %></button> <button id='un-hold-jobs'><%= t 'buttons.un_hold', 'un-hold' %></button> <button id='delete-jobs'><%= t 'buttons.delete', 'delete' %></button> <% end %> </div> <div id="jobs-grid" style="width:700px; height:300px;" class='grid'> </div> <div id="show-job"> <h2><%= t 'headings.selected_job', "Selected Job" %></h2> <h4><%= before_label :id, "id" %> <a href="#" id="job-id-link"><span id="job-id" class="show-field"> </span></a></h4> <h4><%= before_label :tag, "tag" %> <span id='job-tag' class='show-field'> </span></h4> <h4><%= before_label :strand, "strand" %> <span id='job-strand' class='show-field'> </span></h4> <h4><%= before_label :singleton, "singleton" %> <span id='job-singleton' class='show-field'> </span></h4> <h4><%= before_label :shard, "shard" %> <span id='job-shard_id' class='show-field'> </span></h4> <table id='job-attributes' cellspacing="0"> <tr> <td width="150"><%= before_label :priority, "Priority" %></td> <td id="job-priority" class="show-field"> </td> </tr> <tr> <td><%= before_label :num_attempts, "Attempts" %></td> <td id="job-attempts" class="show-field"> </td> </tr> <tr> <td><%= before_label :max_attempts, "Max Attempts" %></td> <td id="job-max_attempts" class="show-field"> </td> </tr> <tr> <td><%= before_label :locked_by, "Locked By" %></td> <td id="job-locked_by" class="show-field"> </td> </tr> <tr> <td><%= before_label :run_at, "Run At" %></td> <td id="job-run_at" class="show-field"> </td> </tr> <tr> <td><%= before_label :locked_at, "Locked At" %></td> <td id="job-locked_at" class="show-field"> </td> </tr> <% if defined?(Marginalia) %> <tr> <td><%= before_label :source, "Source" %></td> <td id="job-source" class="show-field"> </td> </tr> <% end %> <tr> <td><%= before_label :failed_at, "Failed At" %></td> <td id="job-failed_at" class="show-field"> </td> </tr> <tr> <td><%= before_label :original_job_id, "Original Job ID" %></td> <td id="job-original_job_id" class="show-field"> </td> </tr> <tr> <td><%= before_label :handler, "Handler" %></td> <td><a href='#' id='job-handler-show'>(<%= t 'actions.show', "show" %>)</a> <div id='job-handler-wrapper' class='show-field-wrapper'><textarea id='job-handler' class='show-field'></textarea></div> </td> </tr> <tr> <td><%= before_label :last_error, "Last Error" %></td> <td><a href='#' id='job-last_error-show'>(<%= t 'actions.show', "show" %>)</a> <div id='job-last_error-wrapper' class='show-field-wrapper'><textarea id='job-last_error' class='show-field'></textarea></div> </td> </tr> </table> </div> </div> <% jobs_opts = { :max_attempts => Delayed::Settings.max_attempts, :flavor => @flavor, :url => jobs_v1_index_url(:only => :jobs), :batch_update_url => batch_update_jobs_v1_index_url, :job_url => jobs_v1_index_url, :on_hold_attempt_count => Delayed::Job::ON_HOLD_COUNT, :limit => JobsController::LIMIT, :starting_query => params[:q], :slow_threshold => Setting.get('jobs.slow_threshold', 600).to_f, :super_slow_threshold => Setting.get('jobs.super_slow_threshold', 3600).to_f } running_opts = jobs_opts.merge({ :url => jobs_v1_index_url(:only => :running), :refresh_rate => @running_jobs_refresh_seconds * 1000, :starting_query => nil, }) tags_opts = { :url => jobs_v1_index_url(:only => :tags), :refresh_rate => @job_tags_refresh_seconds * 1000, } js_env :JOBS => { :opts => jobs_opts.as_json(:include_root => false), :running_opts => running_opts.as_json(:include_root => false), :tags_opts => tags_opts } %>
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 index.html.erb
ERB
7.5 KB
2023-09-24 03:36
EDIT