OSDN Git Service

fix profiler extend system
[pettanr/pettanr.git] / app / controllers / application_controller.rb
index 4d8ca5f..55f54d1 100644 (file)
@@ -70,6 +70,10 @@ class ApplicationController < ActionController::Base
     authenticate_user! unless @operators.resource_reader?
   end
   
+  def authenticate_admin
+    authenticate_admin! unless @operators.admin?
+  end
+  
   def authenticate_author
     if @operators.author
       true
@@ -117,9 +121,7 @@ class ApplicationController < ActionController::Base
   
   def set_list
     set_model
-    @my_model_list = @my_model.lists[@my_action.list_name]
-    @my_list = Manifest.manifest.lists[@my_action.item_name]
-    @list = @my_list[@my_action.list_name]
+    @list = Locmare::ListGroup.list @my_action.item_name, @my_action.list_name
   end
   
   def filer_list
@@ -128,7 +130,7 @@ class ApplicationController < ActionController::Base
     @items = list_result.items 
     respond_to do |format|
       format.html {
-        @filer = Manifest::View::Filer.new @list.item_name, list_result.items, list_result.paginate, @operators
+        @filer = Locmare::Filer.new @list.item_name, list_result.items, list_result.paginate, @operators
         render @filer.template_name, :locals => {
           :filer => @filer
         }
@@ -144,10 +146,10 @@ class ApplicationController < ActionController::Base
     @item = @my_model_class.show(params[:id], @operators)
   end
   
 def show_prof_format format
-    format.prof { 
-      self.formats = [:html] 
-      @profiler = Manifest::View::Profiler.new @my_model.model_name, @item, @operators
+ def show_prof_format format
+    format.prof {
+      self.formats = [:html]
+      @profiler = Locmare::Profiler.new @my_model.model_name, @item, @operators
       render @profiler.template_name, :locals => {
         :profiler => @profiler
       }
@@ -158,22 +160,39 @@ class ApplicationController < ActionController::Base
     format.json { render json: @item.to_json(@my_model_class.show_json_opt) }
   end
   
-  def form_new
+  def set_new
     set_model
     @item = @my_model_class.new
     @item.supply_default
+  end
+  
+  def set_edit
+    set_model
+    @item = @my_model_class.edit(params[:id], @operators)
+  end
+  
+  def render_form
     respond_to do |format|
       format.html { 
-        @form = Manifest::View::Form.new @item.item_name, @item, true, @operators
+        @form = Locmare::Form.new @item.item_name, @item, true, true, @operators
         render @form.template_name, :locals => {
           :form => @form
         }
       }
-      format.js
       format.json { render json: @item.to_json(@my_model_class.show_json_opt) }
     end
   end
   
+  def form_new
+    set_new
+    render_form
+  end
+  
+  def form_edit
+    set_edit
+    render_form
+  end
+  
   def list_count
     set_list
     j = {:count => @list.count(@operators, {:id => params[:id]})}
@@ -202,13 +221,12 @@ class ApplicationController < ActionController::Base
   end
   
   def assist_items item_name, list_name
-    list = Manifest.manifest.lists[item_name][list_name]
+    list = Locmare::ListGroup.list item_name, list_name
     list_result = list.open(@operators, {:id => @item.id, :page => 1, :page_size => 5})
     list_result.items
   end
   
   def assist_filer item_name, items
-    @filer = Manifest::View::Filer.new @list.item_name, list_result.items, list_result.paginate, @operators
     filer_manager = Pettanr::Application::manifest.filer_managers[item_name]
     filer_manager.open(item_name, items, @operators, nil)
   end