░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/app/views/submissions
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: show_preview.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/>. %> <% presenter = Submission::ShowPresenter.new( submission: @submission, current_user: @current_user, assessment_request: @assessment_request, current_host: request.host ) # Calls to doc_preview_attributes will result in this hash getting some # attributes deleted; dup this hash before passing it to any methods. preview_url_opts = { anonymous_instructor_annotations: @anonymous_instructor_annotations, enable_annotations: true, enrollment_type: @enrollment_type, moderated_grading_allow_list: @moderated_grading_allow_list, submission_id: @submission.id } if @submission.submission_type == "student_annotation" annotation_context = @submission.annotation_context(attempt: @submission.attempt) preview_url_opts[:annotation_context] = annotation_context.launch_id end %> <% css_bundle :submission %> <% user_name = params[:hide_student_name] ? t(:anonymous_username, "This Student") : submission_author_name_for(@assessment_request) %> <% show_updated_plagiarism_icons = @context.root_account.feature_enabled?(:new_gradebook_plagiarism_indicator) %> <% provide :page_title do %><%= join_title @assignment.title, t("Submission Preview") %><% end %> <% if @assignment.submission_types == 'discussion_topic' && @assignment.discussion_topic %> <div style="width: 600px; margin: 10px auto;"> <p> <% if assignment_visible_to_user = @assignment.visible_to_user?(@current_user)%> <% if @assignment.discussion_topic.for_group_discussion? && (group = @assignment.discussion_topic.group_category.group_for(@user)) %> <%= t('group_discussion_submission_description', "The submissions for this assignment are posts in the assignment's discussion for this group. Below are the discussion posts for %{user}, or you can *view the full group discussion*.", :user => user_name, :wrapper => "<a id='discussion_view_link' href=\"#{context_url(group, :context_discussion_topics_url, :root_discussion_topic_id => @assignment.discussion_topic.id, :hide_student_names => params[:hide_student_name], :student_id => @submission.user.id, :headless => 1)}\"><b>\\1</b></a>") %> <% else %> <%= t('discussion_submission_description', "The submissions for this assignment are posts in the assignment's discussion. Below are the discussion posts for %{user}, or you can *view the full discussion*.", :user => user_name, :wrapper => "<a id='discussion_view_link' href=\"#{context_url(@assignment.context, :context_discussion_topic_url, @assignment.discussion_topic.id, :hide_student_names => params[:hide_student_name], :student_id => @submission.user.id, :headless => 1)}\"><b>\\1</b></a>") %> <% end %> <% else %> <% if @assignment.discussion_topic.for_group_discussion? && (group = @assignment.discussion_topic.group_category.group_for(@user)) %> <%= t('group_discussion_submission_description_without_link', "The submissions for this assignment are posts in the assignment's discussion for this group. Below are the discussion posts for %{user}.", :user => user_name) %> <% else %> <%= t('discussion_submission_description_without_link', "The submissions for this assignment are posts in the assignment's discussion. Below are the discussion posts for %{user}.", :user => user_name) %> <% end %> <% end %> </p> <% @entries = @assignment.discussion_topic.discussion_entries.active.for_user(@user) %> <% if @assignment.discussion_topic.for_group_discussion? %> <% @entries = @assignment.discussion_topic.child_topics.map{|t| t.discussion_entries.active.for_user(@user) }.flatten.sort_by{|e| e.created_at} %> <% end %> <% @entries.each do |entry| %> <%= render :partial => 'discussion_topics/entry', :object => entry, :locals => {:out_of_context => true, :skip_sub_entries => true, :link_to_headless => true, :hide_student_names => params[:hide_student_name], :assignment_visible_to_user => assignment_visible_to_user} %> <% end %> <div style="text-align: center; font-size: 1.2em; margin-top: 10px; display: none;"> <a href="<%= context_url(@assignment.context, :context_discussion_topic_url, @assignment.discussion_topic.id, :headless => 1, :combined => 1) %>" class="forward"><%= t('show_entire_discussion', 'Show the Entire Discussion') %></a> </div> </div> <% elsif @submission.submission_type == "online_url" %> <div style="text-align: center; width: 500px; margin: 10px auto; font-size: 0.8em;"> <% image = @submission.attachment if @submission.processed? %> <%= t('external_url_submission', 'This submission was a URL to an external page.') %> <% if image %> <%= t('entry_with_image', "We've included a snapshot of what the page looked like when it was submitted.") %> <% else %> <%= t('entry_no_image', 'Keep in mind that this page may have changed since the submission originally occurred.') %> <% end %> <div style="font-size: 1.4em; margin: 10px;"> <%= link_to @submission.url, @submission.url, class: "not_external" %> </div> <div style="font-size: 1.4em; margin: 10px;"> <%= link_to t('view_in_a_new_tab', '(View in a new tab)'), @submission.url, class: "open_in_a_new_tab", target: "_blank" %> <span style="display: inline-block;" class="ui-icon ui-icon-extlink ui-icon-inline" title="<%= t('titles.external_link', 'Links to an external site.') %>"/> </div> </div> <div style="text-align: center;"> <% if @submission.processed %> <% preview_url = if anonymize_students context_url( @context, :context_assignment_anonymous_submission_url, @assignment.id, @submission.anonymous_id, download: image.id ) else context_url( @context, :context_assignment_submission_url, @assignment.id, @submission.user_id, download: image.id ) end %> <img src="<%= preview_url %>" alt="<%= t('URL Preview') %>"/> <% end %> </div> <% elsif @submission.submission_type == "online_text_entry" %> <% js_bundle 'submissions_show_preview_text' %> <div style="text-align: <%= direction('right') %>; margin-top: 15px;"> <select class="data_view"> <option aria-label="<%= t("Assignment %{assignment} submission Paper View", :assignment=> @assignment.title) %>" value="paper"><%= t('Paper View') %></option> <option aria-label="<%= t("Assignment %{assignment} submission Plain Text View", :assignment=> @assignment.title) %>" value="plain_text"><%= t('Plain Text View') %></option> </select> <%= render partial: 'submissions/originality_score', locals: { attachment: nil, show_updated_icons: show_updated_plagiarism_icons } %> </div> <div id="submission_preview" class="paper user_content"> <%= user_content(@submission.body) %> </div> <% elsif @submission.submission_type == "online_upload" %> <% if @submission.versioned_attachments.empty? %> <div class="file-upload-submission"> <span> <%= t('no_files', 'No files were uploaded for this submission') %> </span> </div> <% else %> <% @submission.versioned_attachments.each do |attachment| %> <div class="file-upload-submission"> <div class="file-upload-submission-info"> <% preview_url = if anonymize_students context_url( @context, :context_assignment_anonymous_submission_url, @assignment.id, @submission.anonymous_id, download: attachment.id ) else context_url( @context, :context_assignment_submission_url, @assignment.id, @submission.user_id, download: attachment.id ) end %> <a href="<%= preview_url %>" class="<%= attachment.mime_class %> file-upload-submission-info__link"> <%= attachment.display_name %> </a> <span class="file-upload-submission-info__filesize"><%= number_to_human_size(attachment.size) %></span> </div> <div class="file-upload-submission-turnitin"> <%= render partial: 'submissions/originality_score', locals: { attachment: attachment, show_updated_icons: show_updated_plagiarism_icons } %> </div> <div class="file-upload-submission-attachment"> <% unread_annotations = @current_user&.unread_submission_annotations?(@submission) %> <% if attachment.crocodoc_available? || attachment.canvadoc.try(:has_annotations?) %> <% preview_document = unread_annotations ? t('Preview your submission and view teacher feedback. There are unread comments.') : t('preview_crocodoc_document', 'Preview your submission and view teacher feedback, if available') button_text = t('view_feedback_button', 'View Feedback') %> <% elsif attachment.canvadocable? %> <% preview_document = t('preview_submission', 'Preview your submission') button_text = t('view_preview_button', 'Preview') %> <% end %> <% if attachment.crocodoc_available? || attachment.canvadocable? %> <a href=<%= preview_url %> data-tooltip title="<%= preview_document %>" class="modal_preview_link Button--link" role="button" data-attachment_id="<%= attachment.id %>" data-submission_id="<%= @submission.id %>" data-dialog-title="<%= attachment.display_name %>" <%= doc_preview_attributes(attachment, preview_url_opts.dup) %> > <%= button_text %> </a> <% if unread_annotations %> <span class="submission_annotation unread_indicator" aria-hidden="true"></span> <% end %> <% end %> </div> </div> <% end %> <% end %> <% js_bundle 'submissions_show_preview_upload' %> <% elsif @submission.submission_type == "online_quiz" and @assignment&.quiz&.id %> <meta HTTP-EQUIV="REFRESH" content="0; url=<%= context_url(@context, :context_quiz_history_url, @assignment.quiz.id, :user_id => @submission.user_id, :hide_student_name => params[:hide_student_name], :headless => 1, :version => @submission.quiz_submission_version) %>"/> <div style="text-align: center;"> <%= t('quiz_submission', 'This submission was a quiz submission. Redirecting to quiz page.') %> </div> <% elsif @submission.submission_type == 'media_recording' && @submission.media_comment_id %> <%= t('media_comment_link', "This submission is a media recording. *click here to view.*", :wrapper => '<div><a href="#" class="play_media_recording_link" '+ dataify(@submission, :media_comment_id, :media_comment_type) + '>\1</a></div>') %> <div style="width: 400px; margin: 10px auto;" id="media_recording_box"> <div class="box_content"> </div> </div> <div class="media_comment_id" style="display: none;"><%= @submission.media_comment_id %></div> <% js_bundle 'submissions_show_preview_media' %> <% elsif @submission.submission_type == 'basic_lti_launch' %> <meta HTTP-EQUIV="REFRESH" content="0; url=<%= presenter.submission_details_tool_launch_url %>"/> <% elsif @submission.submission_type == "student_annotation" %> <div class="ef-file-preview-stretch"> <iframe allowfullscreen title="<%= t "Student Annotation submission" %>" src="<%= annotation_context.attachment.canvadoc_url(@current_user, preview_url_opts.dup) %>" class="ef-file-preview-frame annotated-document-submission" style="height: 100vh; width: 100%;"> </iframe> </div> <% elsif @submission.has_submission? || @assignment.expects_external_submission? %> <div style="margin: 20px auto; width: 400px; height: 50px; font-size: 1.5em; font-weight: bold;"> <%= t('no_preview_available', 'No Preview Available') %> </div> <% else %> <div style="margin: 20px auto; width: 200px; height: 50px; font-size: 1.5em; font-weight: bold;"> <%= t('no_submission', 'No Submission') %> </div> <% end %>
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 _originality_score.html.erb
ERB
5.5 KB
2023-09-24 03:36
EDIT
📄 _submission_download.html.erb
ERB
1.3 KB
2023-09-24 03:36
EDIT
📄 show.html.erb
ERB
25.3 KB
2023-09-24 03:36
EDIT
📄 show_preview.html.erb
ERB
13 KB
2023-09-24 03:36
EDIT