leonardo 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ 1.6.1 (September 20th, 2011) Marco Mastrodonato
2
+ * Improved ajax show title
3
+ * List resource: the link to parent show resource is now ajax (if remote = true)
4
+ * Minor bug fix
5
+
1
6
  1.6.0 (September 16th, 2011) Marco Mastrodonato
2
7
  * Nested resource: use new option rails g leosca product --under=category field:type
3
8
  * Improved views data format
@@ -69,7 +69,7 @@ module Leonardo
69
69
  def attribute_to_erb(attribute, object)
70
70
  case attribute.type
71
71
  when :boolean then "<%= #{object}.#{attribute.name} ? style_image_tag(\"ico_v.png\", :class => \"ico_true\") : style_image_tag(\"ico_x.png\", :class => \"ico_false\") %>"
72
- when :references, :belongs_to then "<%= link_to((#{object}.#{attribute.name}.try(:name) || \"\#{t('models.#{attribute.name}')} \#{#{object}.#{attribute.name}.try(:id)}\"), #{object}.#{attribute.name}) %>"
72
+ when :references, :belongs_to then "<%= link_to((#{object}.#{attribute.name}.try(:name) || \"\#{t('models.#{attribute.name}')} \#{#{object}.#{attribute.name}.try(:id)}\"), #{object}.#{attribute.name}, :remote => remote) %>"
73
73
  when :integer then "<%= number_with_delimiter #{object}.#{attribute.name} %>"
74
74
  when :decimal then "<%= number_to_currency #{object}.#{attribute.name} %>"
75
75
  when :float then "<%= number_with_precision #{object}.#{attribute.name} %>"
@@ -122,6 +122,13 @@ module Leonardo
122
122
  "#{underscore_resource_path(:parent_singular_resource_plural)}_path(#{formatted_parent_resources("@")})"
123
123
  end
124
124
 
125
+ #product under category => category_products_path(category)
126
+ #product under brand/category => brand_category_products_path(@brand, category)
127
+ def list_resources_path_back
128
+ return unless nested?
129
+ "#{underscore_resource_path(:parent_singular_resource_plural)}_path(#{formatted_parent_resources("@").reverse.sub(/@/, "").reverse})"
130
+ end
131
+
125
132
  #product => "product"
126
133
  #product under category => "[@category, product]"
127
134
  #product under brand/category => "[@brand, @category, product]"
@@ -69,7 +69,7 @@ module Erb
69
69
  file = "app/views/#{plural_last_parent}/_list.erb"
70
70
  inject_into_file file, :before => "<!-- Manage section, do not remove this tag -->" do
71
71
  <<-FILE.gsub(/^ /, '')
72
- <td><%= link_to t('models.#{plural_table_name}'), #{underscore_resource_path :parent_singular_resource_plural}_path(#{last_parent}) %></td>
72
+ <td><%= link_to t('models.#{plural_table_name}'), #{list_resources_path_back} %></td>
73
73
 
74
74
  FILE
75
75
  end if File.exists?(file)
@@ -4,7 +4,7 @@
4
4
 
5
5
  <%% title t('attributes.<%= singular_table_name %>.op_index'<%= ", {:parent => \"#{last_parent}\", :name => @#{last_parent}.try(:name) || @#{last_parent}.try(:id)}" if nested? -%>) %>
6
6
 
7
- <%% remote = <%= options.remote? %> %>
7
+ <%% remote = @remote %>
8
8
  <%%= form_for <%= show_resource_path("@") %>, :remote => remote, :html => { :method => :get, :id => "form_search" } do |f| %>
9
9
  <div class="filter-container">
10
10
  <%- attributes.each do |attribute| -%>
@@ -4,5 +4,5 @@
4
4
  {:value => t(:show), :active => true}
5
5
  )%>
6
6
 
7
- <%%= render 'show' %>
7
+ <%%= render 'show', :remote => @remote %>
8
8
 
@@ -2,6 +2,6 @@ var $dialog = $('<div></div>')
2
2
  .html("<%%= escape_javascript(render('show'))%>")
3
3
  .dialog({
4
4
  autoOpen: false,
5
- title: '<%%= "#{t(:show)}"%>'
5
+ title: '<%%= "#{t('models.<%= singular_table_name %>')} #{@<%= singular_table_name %>.try(:name) || @<%= singular_table_name %>.try(:id)}"%>'
6
6
  });
7
7
  $dialog.dialog('open');
@@ -2,7 +2,15 @@
2
2
  class <%= controller_class_name %>Controller < ApplicationController
3
3
  <%= "before_filter :authenticate_user!#{CRLF}" if authentication? -%>
4
4
  <%= "load_and_authorize_resource#{CRLF}" if authorization? -%>
5
- <%= "before_filter :load_parents#{CRLF}" if nested? -%>
5
+ <%#= "before_filter :load_parents#{CRLF}" if nested? -%>
6
+ before_filter :load_before
7
+
8
+ def load_before
9
+ @remote = <%= options.remote? %>
10
+ <% base_parent_resources.each do |parent| -%>
11
+ @<%= parent %> = <%= parent.classify %>.find params[:<%= parent %>_id]
12
+ <% end -%>
13
+ end
6
14
 
7
15
  <% if nested? -%>
8
16
  def load_parents
@@ -19,11 +27,11 @@ end
19
27
  conditions_fields = []
20
28
  conditions_values = []
21
29
 
22
- <%- attributes.each do |attribute| -%>
23
- <% if nested? && (attribute.type == :references || attribute.type == :belongs_to) -%>
24
- conditions_fields << "#{<%= class_name %>.table_name}.<%= base_parent_resources.last %>_id = ?"
25
- conditions_values << @<%= base_parent_resources.last %>.id
26
- <%- end -%>
30
+ <%- base_parent_resources.each do |parent| -%>
31
+ <%- if attributes.map(&:name).include? parent -%>
32
+ conditions_fields << "#{<%= class_name %>.table_name}.<%= parent %>_id = ?"
33
+ conditions_values << @<%= parent %>.id
34
+ <%- end -%>
27
35
  <%- end -%>
28
36
 
29
37
  if params[:<%= singular_table_name %>]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leonardo
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 6
9
- - 0
10
- version: 1.6.0
9
+ - 1
10
+ version: 1.6.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Marco Mastrodonato
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-16 00:00:00 Z
18
+ date: 2011-09-20 00:00:00 Z
19
19
  dependencies: []
20
20
 
21
21
  description: A generator for creating Rails 3.1 applications ready to go. It generates the layout, the style, the internationalization and manage external gems for authentication, authorization and other. It also provides a customized scaffold to generates cool sites ajax ready in few minutes. If you find a bug please report to m.mastrodonato@gmail.com