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
23 24 25 |
# File 'app/controllers/admin/locators_controller.rb', line 23 def edit @locale_hash = YAML.load_file(@file) end |
#export ⇒ Object
7 8 9 10 11 |
# File 'app/controllers/admin/locators_controller.rb', line 7 def export :export, resource_class keys = Locator.export_csv(*params[:keys].to_s.split(','), locales: params[:locales], files: params[:files]) send_data(keys, filename: "locales_#{Time.now.strftime('%Y_%m_%d')}.csv", type: Mime[:csv], disposition: 'attachment') end |
#import ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/admin/locators_controller.rb', line 13 def import if params[:csv_file].present? Locator.import_csv(params[:csv_file].read, locales: params[:locales]) flash[:notice] = 'File imported' else flash[:error] = 'Missing or invalid csv file' end redirect_to admin_locators_path end |
#prepare ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/controllers/admin/locators_controller.rb', line 37 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
49 50 51 52 53 54 |
# File 'app/controllers/admin/locators_controller.rb', line 49 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
27 28 29 30 31 32 33 34 35 |
# File 'app/controllers/admin/locators_controller.rb', line 27 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 |