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
216 217 218 219 220 221 222 223 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 216 def aslon_render(action) #render :action=>"#{action}" begin render :action=>"#{action}" rescue render "aslon_scaffolds/#{action}" end end |
#aslon_render_partial(action) ⇒ Object
224 225 226 227 228 229 230 231 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 224 def aslon_render_partial(action) begin render :partial=>"#{action}", :layout=>false rescue # render :partial=>"aslon_scaffolds/#{action}", :layout=>false end end |
#condition ⇒ Object
174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 174 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
160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 160 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}.order('#{params[:order]} #{params[:sens]}').where([condition]).paginate :page => params[:page] else @#{objet_names} = #{model_name}.where([condition]).paginate(:page => params[:page]) 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 = begin [:display_columns] = eval "#{model_name}.column_names-self.config_removed_columns" if ![:display_columns] [:search_fields] ||= eval "#{model_name}.columns.map { |o| (o.type==:string || o.type==:text) ? o.name : 'no'} -%w(no)" rescue end [:edit_fields] ||= [:display_columns] [:show_fields] ||= [:edit_fields] [: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
203 204 205 206 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 203 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
208 209 210 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 208 def objet_name model_name.underscore.downcase.gsub('/','_') end |
#objet_names ⇒ Object
212 213 214 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 212 def objet_names objet_name.pluralize end |
#search ⇒ Object
187 188 189 190 191 192 193 194 195 196 197 198 199 200 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 187 def search #todo : bug trie après search réalisé search_field=[: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 156 157 158 |
# File 'lib/aslon_scaffold/aslon_scaffold.rb', line 147 def update eval "@as_objet= @#{objet_name} = #{model_name}.find(params[:id]) puts 'j-----------------------------' puts params[:#{objet_name}] $as_last_update_object= @as_objet 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 |