From 0675572e056788d846ee1393d7f8d163e58e200e Mon Sep 17 00:00:00 2001 From: Arun Kumar Date: Tue, 5 Jul 2016 00:10:18 +0530 Subject: [PATCH] Modify conference registration to a singular resource --- .../conference_registrations_controller.rb | 12 ++++++------ app/controllers/proposal_controller.rb | 2 +- app/controllers/ticket_purchases_controller.rb | 10 +++++----- app/models/email_settings.rb | 2 +- app/views/conference/_conference_details.html.haml | 4 ++-- app/views/conference/_registration.html.haml | 2 +- app/views/conference_registrations/_form.html.haml | 2 +- app/views/conference_registrations/show.html.haml | 6 +++--- app/views/proposal/_tooltip.html.haml | 4 ++-- app/views/proposal/show.html.haml | 2 +- app/views/tickets/index.html.haml | 4 ++-- config/routes.rb | 2 +- .../conference_registration_controller_spec.rb | 4 ++-- spec/controllers/proposal_controller_spec.rb | 2 +- spec/features/conference_registration_spec.rb | 8 ++++---- spec/features/proposal_spec.rb | 2 +- spec/features/ticket_purchases_spec.rb | 6 +++--- 17 files changed, 37 insertions(+), 37 deletions(-) diff --git a/app/controllers/conference_registrations_controller.rb b/app/controllers/conference_registrations_controller.rb index b304f7d7..2fb080aa 100644 --- a/app/controllers/conference_registrations_controller.rb +++ b/app/controllers/conference_registrations_controller.rb @@ -10,7 +10,7 @@ class ConferenceRegistrationsController < ApplicationController # Redirect to registration edit when user is already registered if @conference.user_registered?(current_user) - redirect_to edit_conference_conference_registrations_path(@conference.short_title) + redirect_to edit_conference_conference_registration_path(@conference.short_title) return # ichain does not allow us to create users during registration elsif (ENV['OSEM_ICHAIN_ENABLED'] == 'true') && !current_user @@ -20,7 +20,7 @@ class ConferenceRegistrationsController < ApplicationController # avoid openid sign_in to redirect to register/new when the sign_in user had already a registration if current_user && @conference.user_registered?(current_user) - redirect_to edit_conference_conference_registrations_path(@conference.short_title) + redirect_to edit_conference_conference_registration_path(@conference.short_title) end # @user variable needs to be set so that _sign_up_form_embedded works properly @@ -60,7 +60,7 @@ class ConferenceRegistrationsController < ApplicationController redirect_to conference_tickets_path(@conference.short_title), notice: 'You are now registered and will be receiving E-Mail notifications.' else - redirect_to conference_conference_registrations_path(@conference.short_title), + redirect_to conference_conference_registration_path(@conference.short_title), notice: 'You are now registered and will be receiving E-Mail notifications.' end else @@ -72,7 +72,7 @@ class ConferenceRegistrationsController < ApplicationController def update if @registration.update_attributes(registration_params) - redirect_to conference_conference_registrations_path(@conference.short_title), + redirect_to conference_conference_registration_path(@conference.short_title), notice: 'Registration was successfully updated.' else flash[:error] = "Could not update your registration for #{@conference.title}: "\ @@ -86,7 +86,7 @@ class ConferenceRegistrationsController < ApplicationController redirect_to root_path, notice: "You are not registered for #{@conference.title} anymore!" else - redirect_to conference_conference_registrations_path(@conference.short_title), + redirect_to conference_conference_registration_path(@conference.short_title), error: "Could not delete your registration for #{@conference.title}: "\ "#{@registration.errors.full_messages.join('. ')}." end @@ -97,7 +97,7 @@ class ConferenceRegistrationsController < ApplicationController def set_registration @registration = Registration.find_by(conference: @conference, user: current_user) if !@registration - redirect_to new_conference_conference_registrations_path(@conference.short_title), + redirect_to new_conference_conference_registration_path(@conference.short_title), error: "Can't find a registration for #{@conference.title} for you. Please register." end end diff --git a/app/controllers/proposal_controller.rb b/app/controllers/proposal_controller.rb index 00298a8e..db511fe7 100644 --- a/app/controllers/proposal_controller.rb +++ b/app/controllers/proposal_controller.rb @@ -109,7 +109,7 @@ class ProposalController < ApplicationController redirect_to conference_program_proposal_index_path(@conference.short_title), notice: 'The proposal was confirmed.' else - redirect_to new_conference_conference_registrations_path(conference_id: @conference.short_title), + redirect_to new_conference_conference_registration_path(conference_id: @conference.short_title), alert: 'The proposal was confirmed. Please register to attend the conference.' end else diff --git a/app/controllers/ticket_purchases_controller.rb b/app/controllers/ticket_purchases_controller.rb index d7c476ee..30d24d82 100644 --- a/app/controllers/ticket_purchases_controller.rb +++ b/app/controllers/ticket_purchases_controller.rb @@ -7,13 +7,13 @@ class TicketPurchasesController < ApplicationController message = TicketPurchase.purchase(@conference, current_user, params[:tickets][0]) if message.blank? if current_user.ticket_purchases.any? - redirect_to conference_conference_registrations_path(@conference.short_title), + redirect_to conference_conference_registration_path(@conference.short_title), notice: "Thank you for supporting #{@conference.title} by purchasing a ticket." else - redirect_to conference_conference_registrations_path(@conference.short_title) + redirect_to conference_conference_registration_path(@conference.short_title) end else - redirect_to conference_conference_registrations_path(@conference.short_title), + redirect_to conference_conference_registration_path(@conference.short_title), error: "Oops, something went wrong with your purchase! #{message}" end end @@ -21,10 +21,10 @@ class TicketPurchasesController < ApplicationController def destroy @ticket_purchases = current_user.ticket_purchases.find(params[:id]) if @ticket_purchases.destroy - redirect_to conference_conference_registrations_path(@conference.short_title), + redirect_to conference_conference_registration_path(@conference.short_title), notice: 'Ticket successfully deleted.' else - redirect_to conference_conference_registrations_path(@conference.short_title), + redirect_to conference_conference_registration_path(@conference.short_title), error: 'An error prohibited deleting your purchase! '\ "#{@ticket_purchases.errors.full_messages.join('. ')}." end diff --git a/app/models/email_settings.rb b/app/models/email_settings.rb index af4579b2..c27ea46e 100644 --- a/app/models/email_settings.rb +++ b/app/models/email_settings.rb @@ -8,7 +8,7 @@ class EmailSettings < ActiveRecord::Base 'conference' => conference.title, 'conference_start_date' => conference.start_date, 'conference_end_date' => conference.end_date, - 'registrationlink' => Rails.application.routes.url_helpers.conference_conference_registrations_url( + 'registrationlink' => Rails.application.routes.url_helpers.conference_conference_registration_url( conference.short_title, host: (ENV['OSEM_HOSTNAME'] || 'localhost:3000')), 'conference_splash_link' => Rails.application.routes.url_helpers.conference_url( conference.short_title, host: (ENV['OSEM_HOSTNAME'] || 'localhost:3000')), diff --git a/app/views/conference/_conference_details.html.haml b/app/views/conference/_conference_details.html.haml index c225f7e9..b0f4a02d 100644 --- a/app/views/conference/_conference_details.html.haml +++ b/app/views/conference/_conference_details.html.haml @@ -25,9 +25,9 @@ = link_to "Schedule", schedule_conference_path(conference.short_title), :class =>"btn btn-default" - if conference.registration_open? - if conference.user_registered?(current_user) - = link_to "My Registration", conference_conference_registrations_path(conference.short_title), :class =>"btn btn-default" + = link_to "My Registration", conference_conference_registration_path(conference.short_title), :class =>"btn btn-default" - else - = link_to "Register", new_conference_conference_registrations_path(conference.short_title), class: "btn btn-default", disabled: conference.registration_limit_exceeded? + = link_to "Register", new_conference_conference_registration_path(conference.short_title), class: "btn btn-default", disabled: conference.registration_limit_exceeded? - if conference.registration_limit_exceeded? Sorry, no places left - if !current_user.nil? && current_user.proposal_count(conference) > 0 diff --git a/app/views/conference/_registration.html.haml b/app/views/conference/_registration.html.haml index b7540b81..5614bdba 100644 --- a/app/views/conference/_registration.html.haml +++ b/app/views/conference/_registration.html.haml @@ -26,5 +26,5 @@ The registration period ends on = @conference.registration_period.end_date.strftime('%A, %B %-d. %Y') %p.cta-button - = link_to(new_conference_conference_registrations_path(@conference.short_title), class: 'btn btn-lg btn-success') do + = link_to(new_conference_conference_registration_path(@conference.short_title), class: 'btn btn-lg btn-success') do Register Now diff --git a/app/views/conference_registrations/_form.html.haml b/app/views/conference_registrations/_form.html.haml index 33cfb755..2d85b50d 100644 --- a/app/views/conference_registrations/_form.html.haml +++ b/app/views/conference_registrations/_form.html.haml @@ -18,7 +18,7 @@ Already have an account? .tab-content .tab-pane.active{role: 'tabpanel', id: 'signup'} - = semantic_form_for(@registration, url: conference_conference_registrations_path(@conference.short_title)) do |f| + = semantic_form_for(@registration, url: conference_conference_registration_path(@conference.short_title)) do |f| = render partial: 'devise/shared/sign_up_form_embedded' = render partial: 'registration_info', locals: { f: f } diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml index dd73e70b..30cb281b 100644 --- a/app/views/conference_registrations/show.html.haml +++ b/app/views/conference_registrations/show.html.haml @@ -117,11 +117,11 @@ .col-md-12 -if @registration .btn-group-vertical.pull-right - = link_to 'Edit your Registration', edit_conference_conference_registrations_path(@conference.short_title), class: 'btn btn-success', disabled: @conference.end_date < Date.today - = link_to 'Unregister', conference_conference_registrations_path(@conference.short_title), + = link_to 'Edit your Registration', edit_conference_conference_registration_path(@conference.short_title), class: 'btn btn-success', disabled: @conference.end_date < Date.today + = link_to 'Unregister', conference_conference_registration_path(@conference.short_title), method: :delete, class: 'btn btn-danger btn-xs', confirm: 'Are you sure you want to unregister?', disabled: @conference.end_date < Date.today - else - = link_to 'Register', new_conference_conference_registrations_path(@conference.short_title), class: 'btn btn-success btn-lg pull-right' + = link_to 'Register', new_conference_conference_registration_path(@conference.short_title), class: 'btn btn-success btn-lg pull-right' .row .col-md-12 diff --git a/app/views/proposal/_tooltip.html.haml b/app/views/proposal/_tooltip.html.haml index fda551f3..254b829b 100644 --- a/app/views/proposal/_tooltip.html.haml +++ b/app/views/proposal/_tooltip.html.haml @@ -3,9 +3,9 @@ %li{'class'=>class_for_todo(progress_status['registered'])} %span{'class'=>icon_for_todo(progress_status['registered'])} - if progress_status['registered'] - = link_to 'Register to the conference', edit_conference_conference_registrations_path(event.program.conference.short_title) + = link_to 'Register to the conference', edit_conference_conference_registration_path(event.program.conference.short_title) - else - = link_to 'Register to the conference', new_conference_conference_registrations_path(event.program.conference.short_title) + = link_to 'Register to the conference', new_conference_conference_registration_path(event.program.conference.short_title) %li{'class'=>class_for_todo(progress_status['biography'])} %span{'class'=>icon_for_todo(progress_status['biography'])} = link_to 'Fill out your biography', edit_user_path(event.submitter) diff --git a/app/views/proposal/show.html.haml b/app/views/proposal/show.html.haml index 19483e4e..07e7bc2b 100644 --- a/app/views/proposal/show.html.haml +++ b/app/views/proposal/show.html.haml @@ -83,4 +83,4 @@ .col-md-12 %dt Requires Registration: %dd - = link_to "Yes (#{registered_text(@event)})", new_conference_conference_registrations_path(@conference.short_title), class: 'btn btn-xs btn-danger', disabled: !@event.registration_possible? + = link_to "Yes (#{registered_text(@event)})", new_conference_conference_registration_path(@conference.short_title), class: 'btn btn-xs btn-danger', disabled: !@event.registration_possible? diff --git a/app/views/tickets/index.html.haml b/app/views/tickets/index.html.haml index 542c2624..fbc2df7c 100644 --- a/app/views/tickets/index.html.haml +++ b/app/views/tickets/index.html.haml @@ -37,10 +37,10 @@ = button_tag(type: 'submit', class: 'btn btn-success btn-lg') do Support %i.fa.fa-shopping-cart - = link_to 'Continue without a Ticket!', conference_conference_registrations_path(@conference.short_title), + = link_to 'Continue without a Ticket!', conference_conference_registration_path(@conference.short_title), class: 'btn btn-danger btn-sm' .row .col-md-13 %p.text-muted.text-center %small - * Buying a ticket is not mandatory. Checkout will be at the conference registration. \ No newline at end of file + * Buying a ticket is not mandatory. Checkout will be at the conference registration. diff --git a/config/routes.rb b/config/routes.rb index b2180a8b..3e83fd1b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -108,7 +108,7 @@ Osem::Application.routes.draw do end # TODO: change conference_registrations to singular resource - resource :conference_registrations, path: 'register' + resource :conference_registration, path: 'register' resources :tickets, only: [:index] resources :ticket_purchases, only: [:create, :destroy] resource :subscriptions, only: [:create, :destroy] diff --git a/spec/controllers/conference_registration_controller_spec.rb b/spec/controllers/conference_registration_controller_spec.rb index 3071a38c..2d67b228 100644 --- a/spec/controllers/conference_registration_controller_spec.rb +++ b/spec/controllers/conference_registration_controller_spec.rb @@ -89,7 +89,7 @@ describe ConferenceRegistrationsController, type: :controller do end it 'redirects to registration show path' do - expect(response).to redirect_to conference_conference_registrations_path(conference.short_title) + expect(response).to redirect_to conference_conference_registration_path(conference.short_title) end it 'shows success message in flash notice' do @@ -156,7 +156,7 @@ describe ConferenceRegistrationsController, type: :controller do end it 'redirects to registration show path' do - expect(response).to redirect_to conference_conference_registrations_path(conference.short_title) + expect(response).to redirect_to conference_conference_registration_path(conference.short_title) end it 'shows error in flash message' do diff --git a/spec/controllers/proposal_controller_spec.rb b/spec/controllers/proposal_controller_spec.rb index 56a8c6ee..15780f11 100644 --- a/spec/controllers/proposal_controller_spec.rb +++ b/spec/controllers/proposal_controller_spec.rb @@ -468,7 +468,7 @@ describe ProposalController do end it 'redirects to new registration path' do - expect(response).to redirect_to new_conference_conference_registrations_path conference.short_title + expect(response).to redirect_to new_conference_conference_registration_path conference.short_title end it 'shows flash alert asking user to register' do diff --git a/spec/features/conference_registration_spec.rb b/spec/features/conference_registration_spec.rb index b1ab5f08..32ea2320 100644 --- a/spec/features/conference_registration_spec.rb +++ b/spec/features/conference_registration_spec.rb @@ -19,10 +19,10 @@ feature Registration do scenario 'updates conference registration', feature: true, js: true do visit root_path click_link 'My Registration' - expect(current_path).to eq(conference_conference_registrations_path(conference.short_title)) + expect(current_path).to eq(conference_conference_registration_path(conference.short_title)) click_link 'Edit your Registration' - expect(current_path).to eq(edit_conference_conference_registrations_path(conference.short_title)) + expect(current_path).to eq(edit_conference_conference_registration_path(conference.short_title)) click_button 'Update Registration' expect(conference.user_registered?(participant)).to be(true) @@ -31,7 +31,7 @@ feature Registration do scenario 'unregisters for a conference', feature: true, js: true do visit root_path click_link 'My Registration' - expect(current_path).to eq(conference_conference_registrations_path(conference.short_title)) + expect(current_path).to eq(conference_conference_registration_path(conference.short_title)) click_link 'Unregister' expect(conference.user_registered?(participant)).to be(false) @@ -43,7 +43,7 @@ feature Registration do visit root_path click_link 'Register' - expect(current_path).to eq(new_conference_conference_registrations_path(conference.short_title)) + expect(current_path).to eq(new_conference_conference_registration_path(conference.short_title)) click_button 'Register' expect(conference.user_registered?(participant)).to be(true) diff --git a/spec/features/proposal_spec.rb b/spec/features/proposal_spec.rb index e097d7f4..28d05bfc 100644 --- a/spec/features/proposal_spec.rb +++ b/spec/features/proposal_spec.rb @@ -133,7 +133,7 @@ feature Event do click_link "confirm_proposal_#{@event.id}" expect(flash). to eq('The proposal was confirmed. Please register to attend the conference.') - expect(current_path).to eq(new_conference_conference_registrations_path(conference.short_title)) + expect(current_path).to eq(new_conference_conference_registration_path(conference.short_title)) @event.reload expect(@event.state).to eq('confirmed') end diff --git a/spec/features/ticket_purchases_spec.rb b/spec/features/ticket_purchases_spec.rb index e3ae1e09..ff6957f6 100644 --- a/spec/features/ticket_purchases_spec.rb +++ b/spec/features/ticket_purchases_spec.rb @@ -20,7 +20,7 @@ feature Registration do visit root_path click_link 'Register' - expect(current_path).to eq(new_conference_conference_registrations_path(conference.short_title)) + expect(current_path).to eq(new_conference_conference_registration_path(conference.short_title)) click_button 'Register' fill_in "tickets__#{ticket.id}", with: '2' @@ -30,7 +30,7 @@ feature Registration do purchase = TicketPurchase.where(user_id: participant.id, ticket_id: ticket.id).first expect(purchase.quantity).to eq(2) - expect(current_path).to eq(conference_conference_registrations_path(conference.short_title)) + expect(current_path).to eq(conference_conference_registration_path(conference.short_title)) expect(flash). to eq("Thank you for supporting #{conference.title} by purchasing a ticket.") expect(page.has_content?("2 #{ticket.title} Tickets for 10")).to be true @@ -40,7 +40,7 @@ feature Registration do create(:registration, conference: conference, user: participant) create(:ticket_purchase, conference: conference, user: participant, ticket: ticket, quantity: 4) - visit conference_conference_registrations_path(conference.short_title) + visit conference_conference_registration_path(conference.short_title) expect(page.has_content?("4 #{ticket.title} Tickets for 10")).to be true click_link "ticket-#{ticket.id}-delete"