bootstrap_admin 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ nbproject
@@ -5,8 +5,29 @@
5
5
  *= require_self
6
6
  *= require_tree .
7
7
  */
8
+
8
9
  form.search{
9
10
  float:right;
10
11
  margin-top: -45px;
11
12
  }
13
+
12
14
  .clear_both{clear:both;}
15
+
16
+
17
+ .checkbox .icon {
18
+ display: inline-block;
19
+ width: 16px;
20
+ height: 16px;
21
+ background: url(/assets/jquery.checkbox.png) no-repeat blue;
22
+ }
23
+
24
+ .checkbox {
25
+ display: inline-block; }
26
+ .checkbox .icon {
27
+ display: inline-block;
28
+ width: 16px;
29
+ height: 16px;
30
+ background: url(/assets/jquery.checkbox.png) no-repeat; }
31
+ .checkbox.checked .icon, .checkbox.true .icon {
32
+ background-position: -16px 0px; }
33
+
@@ -129,31 +129,63 @@ module BootstrapAdminHelper
129
129
  bootstrap_admin_config.available_actions
130
130
  end
131
131
 
132
+
133
+ def bootstrap_url_for options = {}
134
+ defaults = {:controller => params[:controller]}.merge options
135
+ url_for(defaults)
136
+ end
137
+ alias_method :bootstrap_url, :bootstrap_url_for
138
+
139
+ def bootstrap_form_url item
140
+ [item, :url => bootstrap_url_for(:action => (item.new_record? ? :create : :update), :id => item.id)]
141
+ end
142
+
132
143
  # =============================================================================
133
144
  def index_actions_for item
134
145
  actions = []
135
146
 
136
147
  if available_actions.include? :show
137
- actions << link_to(:show, [BootstrapAdmin.admin_namespace, item], class: 'btn')
148
+ actions << link_to(:show, bootstrap_url_for(:action => :show, :id => item.id), class: 'btn')
138
149
  end
139
150
 
140
151
  if available_actions.include? :edit
141
- actions << link_to(:edit, [:edit, BootstrapAdmin.admin_namespace, item], class: 'btn')
152
+ actions << link_to(:edit, bootstrap_url_for(:action => :edit, :id => item.id), class: 'btn')
142
153
  end
143
154
 
144
155
  if available_actions.include? :destroy
145
- actions << link_to(:destroy, [BootstrapAdmin.admin_namespace, item], confirm: t(:confirm), method: :delete, class: 'btn btn-danger')
156
+ actions << link_to(:destroy, bootstrap_url_for(:action => :show, :id => item.id), confirm: t(:confirm), method: :delete, class: 'btn btn-danger')
146
157
  end
147
158
 
148
159
  actions.join("\n").html_safe
149
160
  end
150
161
 
162
+ # =====
163
+ def index_default_actions
164
+ if available_actions.include? :new
165
+ model_klass = model_for controller
166
+ link_to([:new, model_klass], bootstrap_url_for(:action => :new), :class => 'btn btn-primary').html_safe
167
+ end
168
+ end
169
+
170
+ def show_default_actions
171
+ model_instance = model_instance_for controller
172
+ str = if available_actions.include? :edit
173
+ link_to :edit, bootstrap_url_for(:action => :edit, :id => model_instance.id), :class => 'btn'
174
+ end || ""
175
+ str += link_to :back, bootstrap_url, :class => 'btn'
176
+ str.html_safe
177
+ end
178
+
151
179
 
152
180
  # =============================================================================
153
181
  # @param controller [ActionController::Base]
154
182
  # @return [Class] the model class for the current controller
155
183
  def model_for controller
156
- collection_name_for(controller).classify.constantize
184
+ if bootstrap_admin_config.model_name.blank?
185
+ collection_name_for(controller).classify.constantize
186
+ else
187
+ bootstrap_admin_config.model_name.constantize
188
+ end
157
189
  end
158
190
 
159
191
  # =============================================================================
@@ -1,9 +1,9 @@
1
1
  - model_instance = model_instance_for(controller)
2
- = simple_form_for [BootstrapAdmin.admin_namespace, model_instance] do |f|
2
+ = simple_form_for *bootstrap_form_url(model_instance) do |f|
3
3
  = f.error_notification
4
4
 
5
5
  = render "form_fields", :form => f
6
6
 
7
7
  .actions
8
8
  = yield :actions
9
- = link_to :back, [BootstrapAdmin.admin_namespace, collection_name_for(controller)], :class => 'btn'
9
+ = link_to :back, bootstrap_url, :class => 'btn'
@@ -5,8 +5,7 @@
5
5
  %tr
6
6
  - attributes.each do |attribute|
7
7
  %th= attribute.human_name
8
- %th= t(:actions)
9
-
8
+ %th.actions= t(:actions)
10
9
  %tbody
11
10
  - collection.each do |item|
12
11
  %tr
@@ -1,4 +1,4 @@
1
- = form_tag url_for(:controller => params[:controller]), :method => :get, :class=>"search bootstrap_admin" do
1
+ = form_tag bootstrap_url, :method => :get, :class=>"search bootstrap_admin" do
2
2
  .input-append{:class => params[:q].blank? ? "" : "input-prepend"}
3
3
  - unless params[:q].blank?
4
4
  .add-on.prepend.btn.reset= image_tag "cross.gif"
@@ -10,5 +10,4 @@
10
10
  .clear_both
11
11
 
12
12
  .actions
13
- - if available_actions.include? :new
14
- = link_to [:new, model_klass], [:new, BootstrapAdmin.admin_namespace, model_name], :class => 'btn btn-primary'
13
+ = index_default_actions
@@ -6,6 +6,4 @@
6
6
  = render "show"
7
7
 
8
8
  .actions
9
- - if available_actions.include? :edit
10
- = link_to :edit, [:edit, BootstrapAdmin.admin_namespace, model_instance], :class => 'btn'
11
- = link_to :back, [BootstrapAdmin.admin_namespace, collection_name], :class => 'btn'
9
+ = show_default_actions
@@ -28,7 +28,7 @@ module BootstrapAdmin
28
28
  # =============================================================================
29
29
  # Creates a new item
30
30
  def create
31
- instance model_class.create(params[model_name])
31
+ instance model_class.new(params[model_name])
32
32
  instance.save
33
33
  namespaced_response instance
34
34
  end
@@ -58,14 +58,18 @@ module BootstrapAdmin
58
58
  if bootstrap_admin_config.model_name.blank?
59
59
  collection_name.singularize
60
60
  else
61
- bootstrap_admin_config.model_name
61
+ bootstrap_admin_config.model_name.underscore.gsub("/","_")
62
62
  end
63
63
  end
64
64
 
65
65
  # =============================================================================
66
66
  # @return [ActiveRecord::Base] model class based on the controller's name
67
67
  def model_class
68
- model_name.classify.constantize
68
+ if bootstrap_admin_config.model_name.blank?
69
+ collection_name.singularize.classify.constantize
70
+ else
71
+ bootstrap_admin_config.model_name.constantize
72
+ end
69
73
  end
70
74
 
71
75
  # =============================================================================
@@ -75,7 +79,11 @@ module BootstrapAdmin
75
79
  instance_variable_set "@#{collection_name.singularize}", instance_var
76
80
  else
77
81
  unless ivar = instance_variable_get("@#{collection_name.singularize}")
78
- ivar = model_class.find params[:id]
82
+ ivar = if ["new", "create"].include? params[:action]
83
+ model_class.new
84
+ else
85
+ model_class.find params[:id]
86
+ end
79
87
  instance_variable_set "@#{collection_name.singularize}", ivar
80
88
  end
81
89
  ivar
@@ -29,7 +29,7 @@ module BootstrapAdmin
29
29
  'helpers.messages.update.success'
30
30
  end
31
31
  controller.flash[:success] = I18n.t(message, :model => resource.class.model_name.human)
32
- redirect_to @resources
32
+ redirect_to :controller => controller.controller_name, :action => :show, :id => resource.id
33
33
 
34
34
  else
35
35
  if delete?
@@ -1,3 +1,3 @@
1
1
  module BootstrapAdmin
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-05-16 00:00:00.000000000 Z
13
+ date: 2013-05-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -106,6 +106,7 @@ files:
106
106
  - README.md
107
107
  - Rakefile
108
108
  - app/assets/images/cross.gif
109
+ - app/assets/images/jquery.checkbox.png
109
110
  - app/assets/images/search_btn.png
110
111
  - app/assets/javascripts/bootstrap_admin.js
111
112
  - app/assets/javascripts/bootstrap_admin/bootstrap_admin.js.coffee