Class: Admin::LocatorsController
- Defined in:
- app/controllers/admin/locators_controller.rb
Instance Method Summary collapse
- #edit ⇒ Object
- #export ⇒ Object
- #import ⇒ Object
- #prepare ⇒ Object
- #reload ⇒ Object
- #update ⇒ Object
Instance Method Details
#edit ⇒ Object
25 26 27 |
# File 'app/controllers/admin/locators_controller.rb', line 25 def edit @locale_hash = YAML.load_file(@file) end |
#export ⇒ Object
7 8 9 10 11 12 |
# File 'app/controllers/admin/locators_controller.rb', line 7 def export :export, resource_class locales = I18n.available_locales & params[:locales].split(',').map(&:to_sym) if params[:locales].present? keys = Locator.export_csv(*params[:keys].to_s.split(','), locales: locales) send_data(keys, filename: "locales_#{Time.now.strftime('%Y_%m_%d')}.csv", type: Mime[:csv], disposition: 'attachment') end |
#import ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'app/controllers/admin/locators_controller.rb', line 14 def import if params[:csv_file].present? locales = I18n.available_locales & params[:locales].split(',').map(&:to_sym) if params[:locales].present? Locator.import_csv(params[:csv_file].read, locales: locales) flash[:notice] = 'File imported' else flash[:error] = 'Missing or invalid csv file' end redirect_to admin_locators_path end |
#prepare ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/controllers/admin/locators_controller.rb', line 39 def prepare result = Locator.instance.prepare_files if !result flash[:error] = 'Failed to prepare locale files' elsif result[:message] flash[:error] = result[:message] else flash[:notice] = I18n.t('flash.admin.locators.prepared') end redirect_to admin_locators_path end |
#reload ⇒ Object
51 52 53 54 55 56 |
# File 'app/controllers/admin/locators_controller.rb', line 51 def reload I18n.reload! Locator.reload_checker.expire if Locator.respond_to?(:reload_checker) flash[:notice] = I18n.t('flash.admin.locators.restart') redirect_to admin_locators_path end |
#update ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'app/controllers/admin/locators_controller.rb', line 29 def update if Locator.save(@file, {params[:edit_locale_name] => params.require(:locale_hash).permit!.to_h}) flash[:notice] = I18n.t('flash.admin.locators.updated') redirect_to admin_locators_path else flash[:error] = I18n.t('flash.admin.locators.update_error') redirect_to edit_admin_locators_path(filename: params[:filename]) end end |