Module: InstanceMethods_for
- Defined in:
- lib/aslon_scaffold/aslon_scaffold.rb
Instance Method Summary collapse
- #aslon_render(action) ⇒ Object
- #aslon_render_partial(action) ⇒ Object
- #condition ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #initialize ⇒ Object
-
#model_name ⇒ Object
private.
- #new ⇒ Object
- #objet_name ⇒ Object
- #objet_names ⇒ Object
- #search ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#aslon_render(action) ⇒ Object
213 214 215 216 217 218 219 220 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 213 def aslon_render(action) render :action=>"#{action}" begin rescue render "aslon_scaffolds/#{action}" end end |
#aslon_render_partial(action) ⇒ Object
221 222 223 224 225 226 227 228 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 221 def aslon_render_partial(action) begin render :partial=>"#{action}", :layout=>false rescue render :partial=>"aslon_scaffolds/#{action}", :layout=>false end end |
#condition ⇒ Object
171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 171 def condition cond='' #todo if params[:XXXXXXXXXX_id] cond+="XXXXXXXXXX_id="+[params[:XXXXXXXXXX_id]].to_s end if cond =='' return '1=1' else return cond end end |
#create ⇒ Object
137 138 139 140 141 142 143 144 145 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 137 def create eval "@as_objet=@#{objet_name} = #{model_name}.new(params[:#{objet_name}]) if @#{objet_name}.save flash[:notice] = t('views.messages.ok_created', :model=>#{model_name}.to_s) (block_given?) ? yield : redirect_to(:action => 'index') else aslon_render('new_edit') end" end |
#destroy ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 157 def destroy eval" @#{objet_name} = #{model_name}.find(params[:id]) count=#{model_name}.count @#{objet_name}.destroy if (count > #{model_name}.count) flash[:notice] = t('views.messages.ok_deleted', :model=>#{model_name}.model_name.human) (block_given?) ? yield : redirect_to(#{objet_name.pluralize}_url) else flash[:error] = t('views.messages.ko_deleted', :model=>#{model_name}.model_name.human) aslon_render('show') end" end |
#edit ⇒ Object
125 126 127 128 129 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 125 def edit eval "@as_objet=@#{objet_name} = #{model_name}.find(params[:id])" yield if block_given? aslon_render('new_edit') end |
#index ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 107 def index eval " if params[:order] @#{objet_names} = #{model_name}.paginate :page => params[:page], :order=>'#{params[:order]} #{params[:sens]}', :conditions => [condition] else @#{objet_names} = #{model_name}.paginate(:page => params[:page], :conditions => [condition]) end" # @clients = Client.paginate(:page =>1) yield if block_given? aslon_render("index") end |
#initialize ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 90 def initialize @as_options= begin @as_options[:display_columns] = eval "#{model_name}.column_names-self.config_removed_columns" if !@as_options[:display_columns] @as_options[:search_fields] ||= eval "#{model_name}.columns.map { |o| (o.type==:string || o.type==:text) ? o.name : 'no'} -%w(no)" rescue end @as_options[:edit_fields] ||= @as_options[:display_columns] @as_options[:show_fields] ||= @as_options[:edit_fields] @as_options[:legend] ||= model_name @objet_name=objet_name @model_name=model_name # : Langue.columns.each { |o| puts a+=[o.name] if (o.type==:string ) super end |
#model_name ⇒ Object
private
200 201 202 203 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 200 def model_name # self.controller_name.singularize.camelize self.class.to_s.gsub('sController','') end |
#new ⇒ Object
131 132 133 134 135 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 131 def new eval "@as_objet=@#{objet_name} = #{model_name}.new" yield if block_given? aslon_render('new_edit') end |
#objet_name ⇒ Object
205 206 207 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 205 def objet_name model_name.underscore.downcase.gsub('/','_') end |
#objet_names ⇒ Object
209 210 211 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 209 def objet_names objet_name.pluralize end |
#search ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 184 def search #todo : bug trie après search réalisé search_field=@as_options[:search_fields] first_part_condition="" search_field.each {|field| first_part_condition += "LOWER(#{field}) LIKE ? or "} first_part_condition.chop!.chop!.chop! last_part_condition=", '%#{params[:search]}%'" all_part_condition= "' (#{first_part_condition}) and (#{condition}) '" +last_part_condition*search_field.size eval "@#{objet_name.pluralize}=#{model_name}.paginate(:page => params[:page], :conditions => [#{all_part_condition}], :order=>'id')" aslon_render_partial('search') end |
#show ⇒ Object
119 120 121 122 123 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 119 def show eval " @#{objet_name} = #{model_name}.find(params[:id])" yield if block_given? aslon_render("show") end |
#update ⇒ Object
147 148 149 150 151 152 153 154 155 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 147 def update eval "@as_objet= @#{objet_name} = #{model_name}.find(params[:id]) if @#{objet_name}.update_attributes(params[:#{objet_name}]) flash[:notice] = t('views.messages.ok_updated',:model=>#{model_name}.model_name.human) (block_given?) ? yield : redirect_to(:action => 'index') else aslon_render('new_edit') end" end |