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