Added organization data excel download
This commit is contained in:
parent
ad6fbd5586
commit
4e6559d18b
@ -760,6 +760,46 @@ class ConferencesController < ApplicationController
|
||||
@page_title = 'articles.conference_registration.headings.Administration'
|
||||
|
||||
case @admin_step.to_sym
|
||||
when :organizations
|
||||
@organizations = Organization.all
|
||||
|
||||
if request.format.xlsx?
|
||||
logger.info "Generating stats.xls"
|
||||
@excel_data = {
|
||||
columns: [:name, :street_address, :city, :subregion, :country, :postal_code, :email, :phone, :status],
|
||||
keys: {
|
||||
name: 'forms.labels.generic.name',
|
||||
street_address: 'forms.labels.generic.street_address',
|
||||
city: 'forms.labels.generic.city',
|
||||
subregion: 'forms.labels.generic.subregion',
|
||||
country: 'forms.labels.generic.country',
|
||||
postal_code: 'forms.labels.generic.postal_code',
|
||||
email: 'forms.labels.generic.email',
|
||||
phone: 'forms.labels.generic.phone',
|
||||
status: 'forms.labels.generic.status'
|
||||
},
|
||||
data: [],
|
||||
}
|
||||
@organizations.each do | org |
|
||||
if org.present?
|
||||
address = org.locations.first
|
||||
@excel_data[:data] << {
|
||||
name: org.name,
|
||||
street_address: address.present? ? address.street : nil,
|
||||
city: address.present? ? address.city : nil,
|
||||
subregion: address.present? ? I18n.t("geography.subregions.#{address.country}.#{address.territory}") : nil,
|
||||
country: address.present? ? I18n.t("geography.countries.#{address.country}") : nil,
|
||||
postal_code: address.present? ? address.postal_code : nil,
|
||||
email: org.email_address,
|
||||
phone: org.phone,
|
||||
status: org.status
|
||||
}
|
||||
end
|
||||
end
|
||||
return respond_to do | format |
|
||||
format.xlsx { render xlsx: :stats, filename: "organizations" }
|
||||
end
|
||||
end
|
||||
when :stats
|
||||
@registrations = ConferenceRegistration.where(:conference_id => @this_conference.id)
|
||||
|
||||
|
@ -951,7 +951,7 @@ module ApplicationHelper
|
||||
end
|
||||
|
||||
def valid_admin_steps
|
||||
admin_steps + [:broadcast_sent]
|
||||
admin_steps + [:broadcast_sent, :organizations]
|
||||
end
|
||||
|
||||
def admin_menu
|
||||
|
@ -15,3 +15,4 @@
|
||||
= "$#{@donations || 0.00}"
|
||||
.actions
|
||||
= link_to (_'links.download.Excel'), administration_step_path(@this_conference.slug, :stats, :format => :xlsx), class: [:button, :download]
|
||||
= link_to (_'links.download.Organizations_Excel'), administration_step_path(@this_conference.slug, :organizations, :format => :xlsx), class: [:button, :download, :subdued]
|
||||
|
@ -8,7 +8,9 @@
|
||||
- @excel_data[:data].each do |row|
|
||||
%tr
|
||||
- @excel_data[:columns].each do |column|
|
||||
%td{class: @excel_data[:column_types][column].present? ? @excel_data[:column_types][column].to_s : nil}=_!row[column]
|
||||
%td{class: (@excel_data[:column_types].present? && @excel_data[:column_types][column].present?) ? @excel_data[:column_types][column].to_s : nil}
|
||||
- if row[column].present?
|
||||
=_!row[column]
|
||||
|
||||
- format_xls 'table' do
|
||||
- workbook use_autowidth: true
|
||||
|
@ -5704,6 +5704,12 @@ en:
|
||||
length: Length
|
||||
workshop_block: Block
|
||||
send_to: Send To
|
||||
street_address: Street Address
|
||||
city: City
|
||||
subregion: State / Province
|
||||
country: Country
|
||||
postal_code: Postal Code
|
||||
status: Status
|
||||
actions:
|
||||
generic:
|
||||
login: Sign In
|
||||
@ -5805,6 +5811,7 @@ en:
|
||||
Help_contribute: Help contribute
|
||||
download:
|
||||
Excel: Download Data in Excel Format
|
||||
Organizations_Excel: Download Organization Data
|
||||
page_descriptions:
|
||||
home: Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike
|
||||
shops
|
||||
|
Loading…
x
Reference in New Issue
Block a user