app/controllers/virtual_classes_controller.rb in zena-0.16.3 vs app/controllers/virtual_classes_controller.rb in zena-0.16.4
- old
+ new
@@ -1,18 +1,45 @@
class VirtualClassesController < ApplicationController
before_filter :visitor_node
- before_filter :find_virtual_class, :except => [:index, :create, :new]
+ before_filter :find_virtual_class, :except => [:index, :create, :new, :import]
before_filter :check_is_admin
layout :admin_layout
def index
secure(VirtualClass) do
- @virtual_classes = VirtualClass.paginate(:all, :order => 'name', :per_page => 20, :page => params[:page])
+ @virtual_classes = VirtualClass.paginate(:all, :order => 'kpath', :per_page => 20, :page => params[:page])
end
@virtual_class = VirtualClass.new
respond_to do |format|
format.html # index.erb
format.xml { render :xml => @virtual_classes }
+ end
+ end
+
+ def export
+ secure(VirtualClass) do
+ @virtual_classes = VirtualClass.all
+ end
+ ###
+ end
+
+ def import
+ attachment = params[:attachment]
+ if attachment.nil?
+ flass[:error] = "Upload failure: no definitions."
+ redirect_to :action => :index
+ else
+ data = YAML.load(attachment.read) rescue nil
+ if data.nil?
+ flash[:error] = "Could not parse yaml document"
+ redirect_to :action => :index
+ else
+ @virtual_classes = secure(VirtualClass) { VirtualClass.import(data) }.paginate(:per_page => 200)
+ @virtual_class = VirtualClass.new
+ respond_to do |format|
+ format.html { render :action => 'index' }
+ end
+ end
end
end
def show
respond_to do |format|