Merge pull request #137 from differentreality/resources_registrations

resources :registrations
This commit is contained in:
Stella Rouzi
2014-05-19 22:27:47 +03:00
5 changed files with 22 additions and 23 deletions

View File

@@ -1,7 +1,7 @@
class Admin::RegistrationsController < ApplicationController
before_filter :verify_organizer
def show
def index
session[:return_to] ||= request.referer
@pdf_filename = "#{@conference.title}.pdf"
@registrations = @conference.registrations.includes(:person).order("registrations.created_at ASC")
@@ -18,8 +18,9 @@ class Admin::RegistrationsController < ApplicationController
@registration.update_attribute(:"#{field}",1)
end
redirect_to admin_conference_registrations_path(@conference.short_title, @registration)
flash[:notice] = "Updated '#{params[:view_field]}' for #{(Person.where("id = ?", @registration.person_id).first).email}"
redirect_to admin_conference_registrations_path(@conference.short_title)
flash[:notice] = "Updated '#{params[:view_field]}' => #{@registration.attended} for
#{(Person.where("id = ?", @registration.person_id).first).email}"
end
def edit
@@ -28,8 +29,7 @@ class Admin::RegistrationsController < ApplicationController
end
def update
reg_id = params[:format]
@registration = @conference.registrations.where("id = ?", reg_id).first
@registration = @conference.registrations.where("id = ?", params[:id]).first
@person = Person.where("id = ?", @registration.person_id).first
begin
@person.update_attributes!(params[:registration][:person_attributes])
@@ -43,7 +43,8 @@ class Admin::RegistrationsController < ApplicationController
redirect_to(admin_conference_registrations_path(@conference.short_title))
rescue Exception => e
Rails.logger.debug e.backtrace.join("\n")
redirect_to(admin_conference_registrations_path(@conference.short_title), :alert => 'Failed to update registration:' + e.message)
redirect_to(admin_conference_registrations_path(@conference.short_title),
alert: 'Failed to update registration:' + e.message)
return
end
end
@@ -111,7 +112,7 @@ class Admin::RegistrationsController < ApplicationController
end
end
def delete
def destroy
if has_role?(current_user, "Admin")
registration = @conference.registrations.where(:id => params[:id]).first
person = Person.where("id = ?", registration.person_id).first
@@ -121,11 +122,13 @@ class Admin::RegistrationsController < ApplicationController
flash[:notice] = "Deleted registration for #{person.public_name} #{person.email}"
rescue Exception => e
Rails.logger.debug e.backtrace.join("\n")
redirect_to(admin_conference_registrations_path(@conference.short_title), :alert => 'Failed to delete registration:' + e.message)
redirect_to(admin_conference_registrations_path(@conference.short_title),
alert: 'Failed to delete registration:' + e.message)
return
end
else
redirect_to(admin_conference_registrations_path(@conference.short_title), :alert => 'You must be an admin to delete a registration.')
redirect_to(admin_conference_registrations_path(@conference.short_title),
alert: 'You must be an admin to delete a registration.')
end
end
end

View File

@@ -5,7 +5,7 @@
%br
.row
.col-md-12
= semantic_form_for(@registration, :url => admin_conference_registrations_edit_path(@conference.short_title, @registration.id), :html => { :method => :put }) do |f|
= semantic_form_for(@registration, :url => admin_conference_registration_path(@conference.short_title, @registration)) do |f|
= f.inputs "Personal Information" do
= f.fields_for :person do |p|
= p.input :first_name, :as => :string

View File

@@ -7,7 +7,7 @@
= "(#{@registrations.length})"
= " - Attended (#{@attended})"
.btn-group.pull-right
= link_to "New", admin_conference_registrations_new_path(@conference.short_title), :class => "btn btn-default"
= link_to "New", new_admin_conference_registration_path(@conference.short_title), :class => "btn btn-default"
= link_to "Export PDF", admin_conference_registrations_path(@conference.short_title, :format => :pdf), :class => "btn btn-default"
= link_to "Export XLS", {:format => :xlsx}, :class => "btn btn-default"
%table.table.table-bordered.table-striped.table-hover#registrations
@@ -35,10 +35,10 @@
= registration.supporter_level.title
-elsif field == 'attended'
= link_to "#{registration.send(field.to_sym)}", admin_conference_registrations_change_field_path(@conference.short_title, :id => registration.id, :view_field => "#{field}"), :method => :put, ":#{field}" => registration.send(field.to_sym), :class => "btn btn-success"
= link_to "#{registration.send(field.to_sym)}", admin_conference_registrations_change_field_path(@conference.short_title, :id => registration.id, :view_field => "#{field}"), :method => :patch, ":#{field}" => registration.send(field.to_sym), :class => "btn btn-success"
-elsif (registration.send(field.to_sym).class == TrueClass || registration.send(field.to_sym).class == FalseClass)
= link_to "#{registration.send(field.to_sym)}", admin_conference_registrations_change_field_path(@conference.short_title, :id => registration.id, :view_field => "#{field}"), :method => :put, ":#{field}" => registration.send(field.to_sym)
= link_to "#{registration.send(field.to_sym)}", admin_conference_registrations_change_field_path(@conference.short_title, :id => registration.id, :view_field => "#{field}"), :method => :patch, ":#{field}" => registration.send(field.to_sym)
- elsif field == 'arrival' || field == 'departure'
= registration.send(field.to_sym).strftime("%d %b %H:%M") if registration.send(field.to_sym)
@@ -49,10 +49,10 @@
= link_to "Questions", "javascript: void(0)", :class => "questions btn btn-success", :id => counter, :onclick => "toggle('row#{counter}')"
%td
= link_to "Edit", admin_conference_registrations_edit_path(@conference.short_title, :id => registration.id), :method => :get, :class => "btn btn-primary"
= link_to "Edit", edit_admin_conference_registration_path(@conference.short_title, :id => registration), :method => :get, :class => "btn btn-primary"
%td
= link_to "Delete", admin_conference_registrations_path(@conference.short_title, :id => registration.id), :method => :delete, :class => "btn btn-danger", :confirm => "Really delete registration for #{registration.public_name} #{registration.email}?"
= link_to "Delete", admin_conference_registration_path(@conference.short_title, registration), :method => :delete, :class => "btn btn-danger", data: {confirm: "Really delete registration for #{registration.public_name} #{registration.email}?"}
%tr{:id => "row#{counter}", :style=>"display:none;"}
%td{:colspan=>13}
= render :partial => "questions", :locals => {:registration => registration}

View File

@@ -4,7 +4,7 @@
Create new account and registration
.row
.col-md-12
= semantic_form_for(@registration, :url => admin_conference_registrations_new_path(@conference.short_title), :html => { :method => :put }) do |f|
= semantic_form_for(@registration, :url => admin_conference_registrations_path(@conference.short_title)) do |f|
= f.inputs "Your details" do
= f.fields_for @person do |p|

View File

@@ -9,13 +9,6 @@ Osem::Application.routes.draw do
get "/schedule" => "schedule#show"
patch "/schedule" => "schedule#update"
get "/stats" => "stats#index"
get "/registrations" => "registrations#show"
get "/registrations/new" => "registrations#new"
patch "/registrations/new" => "registrations#create"
get "/registrations/edit" => "registrations#edit"
patch "/registrations/edit" => "registrations#update"
delete "/registrations" => "registrations#delete"
patch "/registrations/change_field" => "registrations#change_field"
get "/venue" => "venue#show", :as => "venue_info"
patch "/venue" => "venue#update", :as => "venue_update"
get "/dietary_choices" => "dietchoices#show", :as => "dietary_list"
@@ -24,6 +17,9 @@ Osem::Application.routes.draw do
get "/volunteers" => "volunteers#index", :as => "volunteers_info"
patch "/volunteers" => "volunteers#update", :as => "volunteers_update"
patch '/registrations/change_field' => 'registrations#change_field'
resources :registrations
resources :difficulty_levels, only: [:show, :update, :index]
resources :rooms, only: [:show, :update, :index]