127 lines
2.2 KiB
Ruby
127 lines
2.2 KiB
Ruby
# -*- encoding : utf-8 -*-
|
|
|
|
class Admin::FoyersController < ApplicationController
|
|
before_filter :authenticate_admin!
|
|
|
|
|
|
layout "admin"
|
|
#navigation :foyers
|
|
|
|
|
|
def index
|
|
@foyers = Foyer.order('surname ASC')
|
|
if request.xhr?
|
|
render :layout => false
|
|
|
|
end
|
|
end
|
|
|
|
def new
|
|
|
|
|
|
@foyer = Foyer.new()
|
|
end
|
|
|
|
def create
|
|
|
|
@foyers = Foyer.order('surname ASC')
|
|
@foyer = Foyer.new(params[:foyer])
|
|
|
|
|
|
if @foyer.save
|
|
flash[:notice] = "Le foyer à bien été créé."
|
|
|
|
respond_to do |format|
|
|
format.js
|
|
end
|
|
|
|
else
|
|
|
|
respond_to do |format|
|
|
format.js { render :action => :new}
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
|
|
def edit
|
|
|
|
|
|
@foyer = Foyer.find(params[:id])
|
|
|
|
|
|
end
|
|
|
|
def update
|
|
|
|
|
|
@foyer = Foyer.find(params[:id])
|
|
|
|
if @foyer.update_attributes(params[:foyer])
|
|
flash[:notice] = "Le foyer à bien été modifié."
|
|
|
|
respond_to do |format|
|
|
format.html { redirect_to(admin_foyers_path()) }
|
|
format.js
|
|
end
|
|
|
|
else
|
|
respond_to do |format|
|
|
format.html { render :action => :edit}
|
|
format.js { render :action => :edit}
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
def destroy
|
|
@foyer = Foyer.find(params[:id])
|
|
@foyer.destroy
|
|
|
|
|
|
flash[:notice] = "Le foyer à bien été supprimé."
|
|
end
|
|
def import
|
|
if params[:dump] and params[:dump][:file]
|
|
require 'csv'
|
|
require 'iconv'
|
|
|
|
Foyer.destroy_all
|
|
|
|
@parsed_file=CSV.parse(Iconv.conv('utf-8', 'ISO-8859-1', params[:dump][:file].read),:col_sep => ';')
|
|
#@parsed_file=CSV::Reader.parse(params[:dump][:file], ';')
|
|
@parsed_file.each do |row|
|
|
if row[19] == "LYCEE PIERRE BEGHIN"
|
|
|
|
|
|
|
|
if Foyer.find_by_fcpe_id(row[0])
|
|
@foyer = Foyer.find_by_fcpe_id(row[0])
|
|
else
|
|
@foyer = Foyer.new(
|
|
:fcpe_id => row[0],
|
|
:surname => row[1],
|
|
:name => row[2],
|
|
:email => row[8],
|
|
:city => row[6].to_s+" "+row[7].to_s
|
|
|
|
)
|
|
@foyer.save
|
|
end
|
|
|
|
@foyer.studients << Studient.create(:surname => row[17], :name => row[18], :classe => row[20].to_s+" "+row[21].to_s)
|
|
|
|
end
|
|
end
|
|
redirect_to :back, :alert => "Le nouveau fichier à bien été importé."
|
|
else
|
|
redirect_to :back, :alert => "Aucun fichier n'a été séléctionner."
|
|
end
|
|
end
|
|
|
|
def import_validation
|
|
end
|
|
|
|
end
|