░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/app/presenters/submission
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: show_presenter.rb
# frozen_string_literal: true # Copyright (C) 2019 - 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/>. # class Submission::ShowPresenter include Rails.application.routes.url_helpers include ApplicationHelper def initialize(submission:, current_user:, assessment_request: nil, current_host: nil) @submission = submission @current_user = current_user @assessment_request = assessment_request @assignment = @submission.assignment @context = @assignment.context @current_host = current_host end def default_url_options { protocol: HostUrl.protocol, host: find_host } end # NB: Currently this method assumes that the only possible source of anonymity # on the submission details is anonymous peer reviews (since teachers cannot # view the page at all if anonymous grading is enabled). If it becomes possible # to view submission details anonymously as a teacher, this check will need to # be adjusted accordingly. def anonymize_submission_owner? @assessment_request.present? && @assignment.anonymous_peer_reviews? end def add_comment_url if viewing_as_grader? context_url(@context, :update_submission_context_gradebook_url) else submission_data_url end end def add_comment_method if viewing_as_grader? "POST" else "PUT" end end def submission_data_url(**additional_params) submission_route = if anonymize_submission_owner? :context_assignment_anonymous_submission_url else :context_assignment_submission_url end context_url(@context, submission_route, @assignment.id, anonymizable_student_id, **additional_params) end def submission_details_tool_launch_url params = { assignment_id: @assignment.id, display: "borderless", url: @submission.external_tool_url } params[:resource_link_lookup_uuid] = resource_link_lookup_uuid if resource_link_lookup_uuid retrieve_course_external_tools_url(@context.id, params) end def submission_preview_frame_url submission_data_url(preview: 1, rand: rand(999_999)) end def comment_attachment_download_url(submission_comment:, attachment:) submission_data_url(comment_id: submission_comment.id, download: attachment.id) end def comment_attachment_template_url submission_data_url(comment_id: "{{ comment_id }}", download: "{{ id }}") end def currently_peer_reviewing? @assessment_request&.assigned? end private def anonymizable_student_id anonymize_submission_owner? ? @submission.anonymous_id : @submission.user_id end def viewing_as_grader? !currently_peer_reviewing? && @context.grants_right?(@current_user, :manage_grades) end def resource_link_lookup_uuid @submission.resource_link_lookup_uuid end def find_host return HostUrl.context_host(@context.root_account) unless @current_host HostUrl.context_host(@context.root_account, @current_host) end end
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 anonymous_upload_presenter.rb
RB
1.8 KB
2023-09-24 03:36
EDIT
📄 show_presenter.rb
RB
3.6 KB
2023-09-24 03:36
EDIT
📄 upload_presenter.rb
RB
1.6 KB
2023-09-24 03:36
EDIT