run rubocp --fix

This commit is contained in:
Michael Ball 2021-02-24 09:47:56 -08:00
parent 1ca72dcf74
commit 2b2745ade9
26 changed files with 104 additions and 107 deletions

View file

@ -9,7 +9,7 @@ module Admin
def index def index
@events = Event.accessible_by(current_ability).where(program: @program, @events = Event.accessible_by(current_ability).where(program: @program,
state: [:confirmed, :unconfirmed]) state: [:confirmed, :unconfirmed])
@events_commercials = Commercial.where(commercialable_type: 'Event', commercialable_id: @events.pluck(:id)) @events_commercials = Commercial.where(commercialable_type: 'Event', commercialable_id: @events.pluck(:id))
@events_missing_commercial = @events.where.not(id: @events_commercials.pluck(:commercialable_id)) @events_missing_commercial = @events.where.not(id: @events_commercials.pluck(:commercialable_id))
@events_with_requirements = @events.where.not(description: ['', nil]) @events_with_requirements = @events.where.not(description: ['', nil])

View file

@ -10,21 +10,21 @@ class ApplicationController < ActionController::Base
check_authorization unless: :devise_controller? check_authorization unless: :devise_controller?
skip_authorization_check if: skip_authorization_check if:
def store_location def store_location
# store last url - this is needed for post-login redirect to whatever the user last visited. # store last url - this is needed for post-login redirect to whatever the user last visited.
return unless request.get? return unless request.get?
if (request.path != '/accounts/sign_in' && if (request.path != '/accounts/sign_in' &&
request.path != '/accounts/sign_up' && request.path != '/accounts/sign_up' &&
request.path != '/accounts/password/new' && request.path != '/accounts/password/new' &&
request.path != '/accounts/password/edit' && request.path != '/accounts/password/edit' &&
request.path != '/accounts/confirmation' && request.path != '/accounts/confirmation' &&
request.path != '/accounts/sign_out' && request.path != '/accounts/sign_out' &&
request.path != '/users/ichain_registration/ichain_sign_up' && request.path != '/users/ichain_registration/ichain_sign_up' &&
!request.path.starts_with?(Devise.ichain_base_url) && !request.path.starts_with?(Devise.ichain_base_url) &&
!request.xhr?) # don't store ajax calls !request.xhr?) # don't store ajax calls
session[:return_to] = request.fullpath session[:return_to] = request.fullpath
end end
end end
def after_sign_in_path_for(_resource) def after_sign_in_path_for(_resource)

View file

@ -66,7 +66,7 @@ class ConferenceRegistrationsController < ApplicationController
end end
elsif @conference.registration_ticket_required? && !current_user.supports?(@conference) elsif @conference.registration_ticket_required? && !current_user.supports?(@conference)
redirect_to conference_tickets_path(@conference.short_title), redirect_to conference_tickets_path(@conference.short_title),
error: 'You must buy a registration ticket before registering.' error: 'You must buy a registration ticket before registering.'
else else
flash.now[:error] = "Could not create your registration for #{@conference.title}: "\ flash.now[:error] = "Could not create your registration for #{@conference.title}: "\
"#{@registration.errors.full_messages.join('. ')}." "#{@registration.errors.full_messages.join('. ')}."

View file

@ -27,7 +27,7 @@ class UsersController < ApplicationController
def user_params def user_params
params.require(:user).permit(:name, :biography, :nickname, :affiliation, params.require(:user).permit(:name, :biography, :nickname, :affiliation,
:picture, :picture_cache) :picture, :picture_cache)
end end
# Somewhat of a hack: users/current/edit # Somewhat of a hack: users/current/edit

View file

@ -1,4 +1,3 @@
# frozen_string_literal: true # frozen_string_literal: true
class UserDatatable < AjaxDatatablesRails::Base class UserDatatable < AjaxDatatablesRails::Base

View file

@ -201,8 +201,8 @@ module ApplicationHelper
def nav_link_text(conference) def nav_link_text(conference)
conference.try(:organization).try(:name) || conference.try(:organization).try(:name) ||
ENV['OSEM_NAME'] || ENV['OSEM_NAME'] ||
'OSEM' 'OSEM'
end end
# returns the url to be used for logo on basis of sponsorship level position # returns the url to be used for logo on basis of sponsorship level position

View file

@ -24,6 +24,7 @@ module ConferenceHelper
def short_ticket_description(ticket) def short_ticket_description(ticket)
return unless ticket.description return unless ticket.description
markdown(ticket.description.split("\n").first&.strip) markdown(ticket.description.split("\n").first&.strip)
end end
end end

View file

@ -164,7 +164,7 @@ module EventsHelper
conference_id, conference_id,
event.id, event.id,
event.send(attribute), event.send(attribute),
url: admin_conference_program_event_path( url: admin_conference_program_event_path(
conference_id, conference_id,
event, event,
event: { attribute => nil } event: { attribute => nil }
@ -183,7 +183,7 @@ module EventsHelper
if current_user.roles.where(id: conference.roles).any? if current_user.roles.where(id: conference.roles).any?
# Show Pre-Event links for any memeber of the conference team. # Show Pre-Event links for any memeber of the conference team.
link_to("Join Live Event #{'(Admin link)' unless is_now}", link_to("Join Live Event #{'(Admin link)' unless is_now}",
event.url, target: '_blank') event.url, target: '_blank')
elsif current_user.registered_to_event?(conference) elsif current_user.registered_to_event?(conference)
if is_now if is_now
link_to('Join Live Event', event.url, target: '_blank') link_to('Join Live Event', event.url, target: '_blank')
@ -206,12 +206,12 @@ module EventsHelper
start_timestamp = calendar_timestamp(event_schedule.start_time, conference.timezone) start_timestamp = calendar_timestamp(event_schedule.start_time, conference.timezone)
end_timestamp = calendar_timestamp(event_schedule.end_time, conference.timezone) end_timestamp = calendar_timestamp(event_schedule.end_time, conference.timezone)
event_details = { event_details = {
action: 'TEMPLATE', action: 'TEMPLATE',
text: "#{event.title} at #{conference.title}", text: "#{event.title} at #{conference.title}",
details: calendar_event_text(event, event_schedule, conference), details: calendar_event_text(event, event_schedule, conference),
location: "#{event.room.name} #{event.url}", location: "#{event.room.name} #{event.url}",
dates: "#{start_timestamp}/#{end_timestamp}", dates: "#{start_timestamp}/#{end_timestamp}",
ctz: event_schedule.timezone ctz: event_schedule.timezone
} }
"#{calendar_base}?#{event_details.to_param}" "#{calendar_base}?#{event_details.to_param}"
end end
@ -220,13 +220,13 @@ module EventsHelper
def calendar_event_text(event, event_schedule, conference) def calendar_event_text(event, event_schedule, conference)
<<~TEXT <<~TEXT
#{conference.title} - #{event.title} #{conference.title} - #{event.title}
#{event_schedule.start_time.strftime("%Y %B %e - %H:%M")} #{event_schedule.timezone} #{event_schedule.start_time.strftime("%Y %B %e - %H:%M")} #{event_schedule.timezone}
More Info: #{conference_program_proposal_url(conference, event)} More Info: #{conference_program_proposal_url(conference, event)}
Join: #{event.url} Join: #{event.url}
#{truncate(event.abstract, length: 200)} #{truncate(event.abstract, length: 200)}
TEXT TEXT
end end

View file

@ -184,12 +184,12 @@ module FormatHelper
return '' if text.nil? return '' if text.nil?
options = { options = {
autolink: true, autolink: true,
space_after_headers: true, space_after_headers: true,
tables: true, tables: true,
strikethrough: true, strikethrough: true,
footnotes: true, footnotes: true,
superscript: true superscript: true
} }
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new(escape_html: escape_html), options) markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new(escape_html: escape_html), options)
markdown.render(text).html_safe markdown.render(text).html_safe

View file

@ -86,7 +86,7 @@ class Conference < ApplicationRecord
has_many :highlighted_events, has_many :highlighted_events,
-> { where(state: :confirmed, is_highlight: true) }, -> { where(state: :confirmed, is_highlight: true) },
through: :program, through: :program,
source: :events source: :events
has_many :event_types, through: :program has_many :event_types, through: :program
has_many :surveys, as: :surveyable, dependent: :destroy do has_many :surveys, as: :surveyable, dependent: :destroy do

View file

@ -310,7 +310,6 @@ class Event < ApplicationRecord
event_schedules.find_by(schedule_id: selected_schedule_id).try(:happening_now?) event_schedules.find_by(schedule_id: selected_schedule_id).try(:happening_now?)
end end
## ##
# Returns true or false, if the event is already over or not # Returns true or false, if the event is already over or not
# #

View file

@ -14,7 +14,7 @@
# #
class EventUser < ApplicationRecord class EventUser < ApplicationRecord
ROLES = [%w[Speaker speaker], %w[Submitter submitter], %w[Moderator moderator], ROLES = [%w[Speaker speaker], %w[Submitter submitter], %w[Moderator moderator],
%w[Volunteer volunteer]] %w[Volunteer volunteer]]
belongs_to :event, touch: true belongs_to :event, touch: true
belongs_to :user belongs_to :user

View file

@ -37,7 +37,7 @@ class Payment < ApplicationRecord
end end
def stripe_description def stripe_description
#"ticket purchases(#{user.username})" # "ticket purchases(#{user.username})"
"Tickets for #{conference.title} #{user.name} #{user.email}" "Tickets for #{conference.title} #{user.name} #{user.email}"
end end

View file

@ -85,7 +85,7 @@ class Registration < ApplicationRecord
def user_has_registration_ticket def user_has_registration_ticket
return if conference.registration_ticket_required? && return if conference.registration_ticket_required? &&
TicketPurchase.where(user: user, ticket: conference.registration_tickets).paid.any? TicketPurchase.where(user: user, ticket: conference.registration_tickets).paid.any?
errors.add(:base, 'You must purchase a registration ticket before registering') errors.add(:base, 'You must purchase a registration ticket before registering')
if TicketPurchase.where(user: user, ticket: conference.registration_tickets).unpaid.any? if TicketPurchase.where(user: user, ticket: conference.registration_tickets).unpaid.any?

View file

@ -122,6 +122,7 @@ end
def count_purchased_registration_tickets(conference, purchases) def count_purchased_registration_tickets(conference, purchases)
# TODO: WHAT CAUSED THIS??? # TODO: WHAT CAUSED THIS???
return 0 unless purchases return 0 unless purchases
conference.tickets.for_registration.inject(0) do |sum, registration_ticket| conference.tickets.for_registration.inject(0) do |sum, registration_ticket|
sum + purchases[registration_ticket.id.to_s].to_i sum + purchases[registration_ticket.id.to_s].to_i
end end

View file

@ -101,9 +101,8 @@ class User < ApplicationRecord
[:database_authenticatable, :registerable, [:database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable, :confirmable,
:omniauthable, :omniauthable,
omniauth_providers: [:suse, :google, :facebook, :github, :discourse] omniauth_providers: [:suse, :google, :facebook, :github, :discourse]]
# omniauth_providers: [:google, :discourse] # omniauth_providers: [:google, :discourse]
]
end end
devise(*devise_modules) devise(*devise_modules)
@ -206,6 +205,7 @@ class User < ApplicationRecord
# Partials should *not* directly call `gravatar_url` # Partials should *not* directly call `gravatar_url`
def profile_picture(opts = {}) def profile_picture(opts = {})
return gravatar_url(opts) unless picture.present? return gravatar_url(opts) unless picture.present?
size = (opts[:size] || 0).to_i size = (opts[:size] || 0).to_i
if size < 50 if size < 50
picture.tiny.url picture.tiny.url
@ -346,7 +346,6 @@ class User < ApplicationRecord
events.where(program_id: conference.program.id, 'event_users.event_role': 'volunteer') events.where(program_id: conference.program.id, 'event_users.event_role': 'volunteer')
end end
def self.empty? def self.empty?
User.count == 1 && User.first.email == 'deleted@localhost.osem' User.count == 1 && User.first.email == 'deleted@localhost.osem'
end end

View file

@ -16,7 +16,7 @@ Devise.setup do |config|
# TODO-SNAPCON: This ought to be configurable. Use OSEM_DISCOURSE_KEY? # TODO-SNAPCON: This ought to be configurable. Use OSEM_DISCOURSE_KEY?
config.omniauth :discourse, config.omniauth :discourse,
sso_url: 'https://forum.snap.berkeley.edu/session/sso_provider', sso_url: 'https://forum.snap.berkeley.edu/session/sso_provider',
sso_secret: ENV['OSEM_DISCOURSE_SECRET'] sso_secret: ENV['OSEM_DISCOURSE_SECRET']
config.omniauth :facebook, config.omniauth :facebook,

View file

@ -46,8 +46,8 @@ end
lowlevel_error_handler do |ex, env| lowlevel_error_handler do |ex, env|
Sentry.capture_exception( Sentry.capture_exception(
ex, ex,
:message => ex.message, :message => ex.message,
:extra => { :puma => env }, :extra => { :puma => env },
:transaction => "Puma" :transaction => "Puma"
) )
# note the below is just a Rack response # note the below is just a Rack response

View file

@ -7,51 +7,51 @@ if Rails.env.development?
# You can override any of these by setting an environment variable of the # You can override any of these by setting an environment variable of the
# same name. # same name.
Annotate.set_defaults( Annotate.set_defaults(
'active_admin' => 'false', 'active_admin' => 'false',
'additional_file_patterns' => [], 'additional_file_patterns' => [],
'routes' => 'false', 'routes' => 'false',
'models' => 'true', 'models' => 'true',
'position_in_routes' => 'before', 'position_in_routes' => 'before',
'position_in_class' => 'before', 'position_in_class' => 'before',
'position_in_test' => 'before', 'position_in_test' => 'before',
'position_in_fixture' => 'before', 'position_in_fixture' => 'before',
'position_in_factory' => 'before', 'position_in_factory' => 'before',
'position_in_serializer' => 'before', 'position_in_serializer' => 'before',
'show_foreign_keys' => 'true', 'show_foreign_keys' => 'true',
'show_complete_foreign_keys' => 'false', 'show_complete_foreign_keys' => 'false',
'show_indexes' => 'true', 'show_indexes' => 'true',
'simple_indexes' => 'false', 'simple_indexes' => 'false',
'model_dir' => 'app/models', 'model_dir' => 'app/models',
'root_dir' => '', 'root_dir' => '',
'include_version' => 'false', 'include_version' => 'false',
'require' => '', 'require' => '',
'exclude_tests' => 'false', 'exclude_tests' => 'false',
'exclude_fixtures' => 'false', 'exclude_fixtures' => 'false',
'exclude_factories' => 'false', 'exclude_factories' => 'false',
'exclude_serializers' => 'false', 'exclude_serializers' => 'false',
'exclude_scaffolds' => 'true', 'exclude_scaffolds' => 'true',
'exclude_controllers' => 'true', 'exclude_controllers' => 'true',
'exclude_helpers' => 'true', 'exclude_helpers' => 'true',
'exclude_sti_subclasses' => 'false', 'exclude_sti_subclasses' => 'false',
'ignore_model_sub_dir' => 'false', 'ignore_model_sub_dir' => 'false',
'ignore_columns' => nil, 'ignore_columns' => nil,
'ignore_routes' => nil, 'ignore_routes' => nil,
'ignore_unknown_models' => 'false', 'ignore_unknown_models' => 'false',
'hide_limit_column_types' => 'integer,bigint,boolean', 'hide_limit_column_types' => 'integer,bigint,boolean',
'hide_default_column_types' => 'json,jsonb,hstore', 'hide_default_column_types' => 'json,jsonb,hstore',
'skip_on_db_migrate' => 'false', 'skip_on_db_migrate' => 'false',
'format_bare' => 'true', 'format_bare' => 'true',
'format_rdoc' => 'false', 'format_rdoc' => 'false',
'format_yard' => 'false', 'format_yard' => 'false',
'format_markdown' => 'false', 'format_markdown' => 'false',
'sort' => 'false', 'sort' => 'false',
'force' => 'false', 'force' => 'false',
'frozen' => 'false', 'frozen' => 'false',
'classified_sort' => 'true', 'classified_sort' => 'true',
'trace' => 'false', 'trace' => 'false',
'wrapper_open' => nil, 'wrapper_open' => nil,
'wrapper_close' => nil, 'wrapper_close' => nil,
'with_comment' => 'true' 'with_comment' => 'true'
) )
end end

View file

@ -69,8 +69,8 @@ describe Admin::TicketsController do
it 'creates new ticket' do it 'creates new ticket' do
expect do expect do
post :create, params: { post :create, params: {
ticket: attributes_for(:ticket), ticket: attributes_for(:ticket),
conference_id: conference conference_id: conference
} }
end.to change{ conference.tickets.count }.from(ticket_count).to(ticket_count + 1) end.to change{ conference.tickets.count }.from(ticket_count).to(ticket_count + 1)
end end

View file

@ -193,7 +193,7 @@ feature 'Has correct abilities' do
other_user = create(:user) other_user = create(:user)
ticket = conference.registration_tickets.first ticket = conference.registration_tickets.first
create(:paid_ticket_purchase, create(:paid_ticket_purchase,
user: other_user, ticket: ticket, quantity: 1, conference: conference) user: other_user, ticket: ticket, quantity: 1, conference: conference)
create(:registration, user: other_user, conference: conference) create(:registration, user: other_user, conference: conference)
visit edit_admin_conference_registration_path(conference.short_title, conference.registrations.first) visit edit_admin_conference_registration_path(conference.short_title, conference.registrations.first)
expect(current_path).to eq(edit_admin_conference_registration_path(conference.short_title, conference.registrations.first)) expect(current_path).to eq(edit_admin_conference_registration_path(conference.short_title, conference.registrations.first))

View file

@ -200,7 +200,7 @@ feature 'Has correct abilities' do
other_user = create(:user) other_user = create(:user)
ticket = conference.registration_tickets.first ticket = conference.registration_tickets.first
create(:paid_ticket_purchase, create(:paid_ticket_purchase,
user: other_user, ticket: ticket, quantity: 1, conference: conference) user: other_user, ticket: ticket, quantity: 1, conference: conference)
create(:registration, user: other_user, conference: conference) create(:registration, user: other_user, conference: conference)
visit edit_admin_conference_registration_path(conference.short_title, conference.registrations.first) visit edit_admin_conference_registration_path(conference.short_title, conference.registrations.first)
expect(current_path).to eq(edit_admin_conference_registration_path(conference.short_title, conference.registrations.first)) expect(current_path).to eq(edit_admin_conference_registration_path(conference.short_title, conference.registrations.first))

View file

@ -13,12 +13,12 @@ describe FormatHelper, type: :helper do
expect(Redcarpet::Markdown).to receive(:new) expect(Redcarpet::Markdown).to receive(:new)
.with( .with(
Redcarpet::Render::HTML, Redcarpet::Render::HTML,
autolink: true, autolink: true,
space_after_headers: true, space_after_headers: true,
tables: true, tables: true,
strikethrough: true, strikethrough: true,
footnotes: true, footnotes: true,
superscript: true superscript: true
) )
.and_call_original .and_call_original

View file

@ -36,7 +36,7 @@
# #
# index_conferences_on_organization_id (organization_id) # index_conferences_on_organization_id (organization_id)
# #
#!/bin/env ruby # !/bin/env ruby
require 'spec_helper' require 'spec_helper'
describe Conference do describe Conference do

View file

@ -35,6 +35,6 @@ def mock_commercial_request
end end
def mock_image_request def mock_image_request
WebMock.stub_request(:post, "https://api.cloudinary.com/v1_1/snapcon/image/destroy"). WebMock.stub_request(:post, "https://api.cloudinary.com/v1_1/snapcon/image/destroy")
to_return(status: 200, body: {}.to_json, headers: {}) .to_return(status: 200, body: {}.to_json, headers: {})
end end

View file

@ -15,8 +15,6 @@ module OmniauthMacros
ENV['OSEM_DISCOURSE_KEY'] = 'test key discourse' ENV['OSEM_DISCOURSE_KEY'] = 'test key discourse'
ENV['OSEM_DISCOURSE_SECRET'] = 'test secret discourse' ENV['OSEM_DISCOURSE_SECRET'] = 'test secret discourse'
def mock_auth_new_user def mock_auth_new_user
OmniAuth.config.mock_auth[:google] = OmniAuth.config.mock_auth[:google] =
OmniAuth::AuthHash.new( OmniAuth::AuthHash.new(