126 lines
2.0 KiB
Ruby
Executable File
126 lines
2.0 KiB
Ruby
Executable File
# -*- encoding : utf-8 -*-
|
|
|
|
class Admin::TranslationsController < ApplicationController
|
|
before_filter :auth_admin
|
|
|
|
layout "admin"
|
|
|
|
|
|
before_filter :find_translations
|
|
|
|
|
|
def index
|
|
respond_to do |format|
|
|
format.html
|
|
|
|
|
|
|
|
format.csv {
|
|
|
|
@file = ""
|
|
|
|
elements = {
|
|
|
|
|
|
"locale" => "locale",
|
|
"key" => "key",
|
|
"value" => "value",
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
headers = []
|
|
attributes = []
|
|
|
|
elements.each do |key, value|
|
|
headers << key
|
|
attributes << value
|
|
end
|
|
|
|
@csv = CSV.generate(:headers => true, :col_sep => ";", :encoding => "UTF-8") do |csv|
|
|
csv << headers
|
|
|
|
Translation.all.each do |trans|
|
|
|
|
csv << attributes.map{ |attr| eval("trans."+attr.to_s) }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
send_data @csv, :filename => "export-translations-#{Date.today.to_s.to_slug}.csv", :type => 'text/csv; header=present' }
|
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
def edit
|
|
@translation = Translation.find(params[:id])
|
|
end
|
|
|
|
def show
|
|
@translation = Translation.find(params[:id])
|
|
end
|
|
|
|
|
|
|
|
def update
|
|
@translation = Translation.find(params[:id])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
if @translation.update_attributes(params.require(:translation).permit!)
|
|
|
|
|
|
|
|
flash[:notice] = "Le menu à été modifié avec succès."
|
|
|
|
if @reorder
|
|
format.js {
|
|
|
|
render :action => "update" }
|
|
else
|
|
format.js {
|
|
@translation = Translation.find(@translation.id)
|
|
render :action => "update_row" }
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
def import
|
|
@file = params[:csv_file]
|
|
|
|
require 'csv'
|
|
|
|
csv_text = @file.tempfile.read.force_encoding('UTF-8')
|
|
@csv = CSV.parse(csv_text, :headers => true, :col_sep => ";")
|
|
|
|
|
|
end
|
|
|
|
protected
|
|
|
|
def find_translations
|
|
|
|
@translations = Translation.all #.order("key ASC")
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|