th_simple_admin_panel 0.0.7 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YTE0YTEyYjU3M2EyY2Y1N2VkZDE1YTJkYzFkNTk1OGRlMTc1YzJkNA==
5
- data.tar.gz: !binary |-
6
- NjQ2M2M2NDdiMmVjYTViYjIzZDg3NTYwNTRiMzY0NTBhNDViNTIzMg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NTVkYjk5ZjFlMWQxMmNjODcyOWZjYTJiYWVkODdjODgyZTBlZGFkYzA1ZTBi
10
- Y2M1Y2Y4NjAwOWVjNjVjM2ViNWY1ZmU1MzZjNTQ5NzU5Nzc5NzMxOWIzZWU1
11
- ZjQyOWUyNTQwMDBkYzAyYTA3Y2EzMjMyMzBkYzQ2OWRmNmY2NTM=
12
- data.tar.gz: !binary |-
13
- ZGQ3ZGY1MmI5NTU1ODc0NWViMTQ0MTFiZjExNTcxZmUwYTI4OTc1OWI1ZDAz
14
- Mzc1ODgyNjA5MmZkOGIwNGE3OWQ0ODAwODc2ODQzODkyNWRiZTBiMjhjODE5
15
- OTk3OWNhMGZmNzRkMDIyNGYwYWQxMTI0MDAwOGQxODFkOWVhZWU=
2
+ SHA1:
3
+ metadata.gz: ece1d61dc67786f55d4307143c5825e031f85033
4
+ data.tar.gz: 40253b257fa616d6fa9bc3c0f6fa4fd33e892a44
5
+ SHA512:
6
+ metadata.gz: 51cea21e9d4abb12cde75543a460f53837436f24cb297124de238697ddc54cd75fb2fa27642aaf7d514c58bbde85fe1b51024a12be2344f20e401d2e2ef63052
7
+ data.tar.gz: e96f006a932d8b332467eca652028e8aad8be750f3ec5a17d5f2bbda73696b3784d7904ee9835be62e228b706b2c2afd22573c468dcfc064c397c2d3d32208bc
@@ -15,3 +15,18 @@
15
15
  ul.breadcrumb li.pull-right {
16
16
  margin-left: 3px;
17
17
  }
18
+
19
+ .breadcrumb-search-form {
20
+ margin: 1px 0 0 0;
21
+
22
+ &.with-accesskey-text:before, &.with-initkey-text:before {
23
+ margin: 3px;
24
+ }
25
+
26
+ input[type="text"].breadcrumb-search-input {
27
+ font-size: 10.5px;
28
+ padding: 0px 6px;
29
+ @include border-radius(3px);
30
+ line-height: 12px;
31
+ }
32
+ }
@@ -1,9 +1,37 @@
1
1
  module SimpleAdminPanel
2
2
  module BreadcrumbHelper
3
- def label_for_resource resource
4
- %w(label name title to_s).each do |attr|
5
- return resource.public_send attr if resource.respond_to? attr
6
- end
7
- end
3
+ def label_for_resource resource
4
+ %w(label name title to_s).each do |attr|
5
+ return resource.public_send attr if resource.respond_to? attr
6
+ end
7
+ end
8
+
9
+ def should_render_new_resource_button?
10
+ controller.respond_to?(:new) && can?(:create, resource_class) && (new_resource_path rescue nil).present?
11
+ end
12
+
13
+ def should_render_delete_resource_button?
14
+ controller.respond_to?(:destroy) && can?(:destroy, resource)
15
+ end
16
+
17
+ def should_render_edit_resource_button?
18
+ controller.respond_to?(:edit) && can?(:edit, resource)
19
+ end
20
+
21
+ def divider
22
+ "<span class=divider>/</span>".html_safe
23
+ end
24
+
25
+ def translated_resource_name
26
+ label_for_resource association_item
27
+ end
28
+
29
+ def translated_collection_name
30
+ resource_class.model_name.human count: 2
31
+ end
32
+
33
+ def translated_resource_action
34
+ t ".actions.#{resource_class.model_name.to_s.underscore}.#{params[:action]}", default: t(".actions.#{params[:action]}")
35
+ end
8
36
  end
9
37
  end
@@ -3,4 +3,4 @@
3
3
  <button type="button" class="close" data-dismiss="alert">&times;</button>
4
4
  <%= v %>
5
5
  </div>
6
- <% end %>
6
+ <% end %>
@@ -1,20 +1,20 @@
1
1
  <ul class="breadcrumb">
2
- <% if respond_to?(:association_chain) %>
3
- <li><%= link_to "Home", admin_root_path %> <span class="divider">/</span></li>
2
+ <% if respond_to?(:association_chain) %>
3
+ <li><%= link_to "Home", admin_root_path %> <%= divider %></li>
4
4
 
5
- <% association_chain.each do |association_item| %>
6
- <li><%= link_to association_item.class.model_name.human(count: 2), url_for(controller: association_item.class.model_name.underscore.pluralize, action: :index) %> <span class="divider">/</span></li>
7
- <li><%= link_to label_for_resource(association_item), url_for(controller: association_item.class.model_name.underscore.pluralize, action: :show, id: association_item.id) %> <span class="divider">/</span></li>
8
- <% end %>
5
+ <% association_chain.each do |association_item| %>
6
+ <li><%= link_to association_item.class.model_name.human(count: 2), url_for(controller: association_item.class.model_name.to_s.underscore.pluralize, action: :index) %> <%= divider %></li>
7
+ <li><%= link_to label_for_resource(association_item), url_for(controller: association_item.class.model_name.to_s.underscore.pluralize, action: :show, id: association_item.id) %> <%= divider %></li>
8
+ <% end %>
9
9
 
10
- <% if %w(new create).include?(params[:action]) %>
11
- <li><%= link_to resource_class.model_name.human(count: 2), collection_path %> <span class="divider">/</span></li>
12
- <li class="active"><%= t(".actions.#{resource_class.model_name.underscore}.#{params[:action]}", default: t(".actions.#{params[:action]}")) %></li>
13
- <% elsif params[:action] == "index" %>
14
- <li class="active"><%= resource_class.model_name.human count: 2 %></li>
15
- <% if controller.respond_to?(:new) && can?(:create, resource_class) && (new_resource_path rescue nil).present? %>
16
- <li class="pull-right"><%= link_to icon("plus") + " Aanmaken", new_resource_path, class: "btn btn-mini" %></li>
17
- <% end %>
10
+ <% if %w(new create).include?(params[:action]) %>
11
+ <li><%= link_to translated_collection_name, collection_path %> <%= divider %></li>
12
+ <li class="active"><%= translated_resource_action %></li>
13
+ <% elsif params[:action] == "index" %>
14
+ <li class="active"><%= translated_collection_name %></li>
15
+ <% if should_render_new_resource_button? %>
16
+ <li class="pull-right"><%= link_to icon("plus") + " Aanmaken", new_resource_path, class: "btn btn-mini" %></li>
17
+ <% end %>
18
18
 
19
19
  <% if respond_to?(:keyword_search_key) && keyword_search_key.present? %>
20
20
  <li class="pull-right">
@@ -26,25 +26,25 @@
26
26
  </li>
27
27
  <% end %>
28
28
 
29
- <% elsif params[:action] == "show" %>
30
- <li><%= link_to resource_class.model_name.human(count: 2), collection_path %> <span class="divider">/</span></li>
31
- <li class="active"><%= label_for_resource resource %></li>
32
- <% if controller.respond_to?(:destroy) && can?(:destroy, resource) %>
33
- <li class="pull-right"><%= link_to icon("trash icon-white") + " Verwijderen", resource_path, class: "btn btn-mini btn-danger", method: :delete, confirm: "Are you sure to delete #{resource_class.model_name.human(count: 1)} '#{label_for_resource resource}'?" %></li>
34
- <% end %>
35
- <% if controller.respond_to?(:edit) && can?(:edit, resource) %>
36
- <li class="pull-right"><%= link_to icon("edit icon-white") + " Wijzigen", edit_resource_path, class: "btn btn-mini btn-info" %></li>
37
- <% end %>
38
- <% else %>
39
- <li><%= link_to resource_class.model_name.human(count: 2), collection_path %> <span class="divider">/</span></li>
40
- <% if params[:id].present? %>
41
- <li><%= link_to_if controller.respond_to?(:show) && can?(:show, resource), label_for_resource(resource), resource_path %> <span class="divider">/</span></li>
42
- <% end %>
43
- <li class="active"><%= t(".actions.#{resource_class.model_name.underscore}.#{params[:action]}", default: t(".actions.#{params[:action]}")) %></li>
44
- <% end %>
45
- <% else %>
46
- <li class="active">Home</li>
47
- <% end %>
29
+ <% elsif params[:action] == "show" %>
30
+ <li><%= link_to translated_collection_name, collection_path %> <%= divider %></li>
31
+ <li class="active"><%= label_for_resource resource %></li>
32
+ <% if should_render_delete_resource_button? %>
33
+ <li class="pull-right"><%= link_to icon("trash icon-white") + " Verwijderen", resource_path, class: "btn btn-mini btn-danger", method: :delete, data: { confirm: "Are you sure to delete #{resource_class.model_name.human(count: 1)} '#{label_for_resource resource}'?" } %></li>
34
+ <% end %>
35
+ <% if should_render_edit_resource_button? %>
36
+ <li class="pull-right"><%= link_to icon("edit icon-white") + " Wijzigen", edit_resource_path, class: "btn btn-mini btn-info" %></li>
37
+ <% end %>
38
+ <% else %>
39
+ <li><%= link_to translated_collection_name, collection_path %> <%= divider %></li>
40
+ <% if params[:id].present? %>
41
+ <li><%= link_to_if controller.respond_to?(:show) && can?(:show, resource), label_for_resource(resource), resource_path %> <%= divider %></li>
42
+ <% end %>
43
+ <li class="active"><%= translated_resource_action %></li>
44
+ <% end %>
45
+ <% else %>
46
+ <li class="active">Home</li>
47
+ <% end %>
48
48
 
49
- <%= content_for :actions %>
50
- </ul>
49
+ <%= content_for :actions %>
50
+ </ul>
@@ -5,4 +5,4 @@
5
5
  <%= li_link_to "Overwrite layouts/simple_admin_panel/_navbar.html.erb", "#" %>
6
6
  </ul>
7
7
  </div>
8
- </div>
8
+ </div>
@@ -1,36 +1,46 @@
1
1
  module SimpleAdminPanel::ControllerExtensions
2
- extend ActiveSupport::Concern
2
+ extend ActiveSupport::Concern
3
3
 
4
- included do
5
- layout "simple_admin_panel/application"
6
- helper SimpleAdminPanel::BreadcrumbHelper
7
- with_role :admin if self.is_a? InheritedResources::Base
8
- before_filter :authenticate_user!
9
- before_filter :require_admin
10
- before_filter :require_active
11
- before_filter :apply_keyword_search_key
12
- end
4
+ included do
5
+ layout "simple_admin_panel/application"
6
+ helper SimpleAdminPanel::BreadcrumbHelper
7
+ before_filter :authenticate_user!
8
+ before_filter :require_admin
9
+ before_filter :require_active
10
+ end
13
11
 
14
- protected
15
- def require_active
16
- return if current_user.active
17
- flash["error"] = "Deze pagina is alleen toegankelijk voor actieve gebruikers."
18
- redirect_to root_path
19
- end
12
+ protected
13
+ def require_active
14
+ return if current_user.active
15
+ flash["error"] = "Deze pagina is alleen toegankelijk voor actieve gebruikers."
16
+ redirect_to root_path
17
+ end
20
18
 
21
- def require_admin
22
- return if current_user.admin
23
- flash["error"] = "Deze pagina is alleen toegankelijk voor admins."
24
- redirect_to root_path
25
- end
19
+ def require_admin
20
+ return if current_user.admin
21
+ flash["error"] = "Deze pagina is alleen toegankelijk voor admins."
22
+ redirect_to root_path
23
+ end
26
24
 
27
25
  def apply_keyword_search_key
28
- if respond_to?(:keyword_search_key)
29
- params[:search] ||= {}
30
- params[:search][keyword_search_key] = params[:qs] if keyword_search_key.present? && params[:qs].present?
31
- end
26
+ params[:q] ||= {}
27
+ params[:q][keyword_search_key] = params[:qs] if keyword_search_key && params[:qs].present?
32
28
  end
33
29
 
34
- module ClassMethods
35
- end
30
+ module ClassMethods
31
+ def keyword_search_key search_key
32
+ self.send :define_method, :keyword_search_key do
33
+ search_key
34
+ end
35
+ self.send :helper_method, :keyword_search_key
36
+ self.send :before_filter, :apply_keyword_search_key
37
+ end
38
+
39
+ def permit *args
40
+ permitted_params = *args
41
+ self.send :define_method, :permitted_params do
42
+ params.permit resource_instance_name => permitted_params
43
+ end
44
+ end
45
+ end
36
46
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleAdminPanel
2
- VERSION = "0.0.7"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,78 +1,81 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: th_simple_admin_panel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Hinloopen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-22 00:00:00.000000000 Z
11
+ date: 2014-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.12
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 3.2.12
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jquery-rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: inherited_resources
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: kaminari
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: Base admin panel.
70
70
  email:
71
- - toby@kutcomputers.nl
71
+ - toby@zisoo.nl
72
72
  executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - MIT-LICENSE
77
+ - README.rdoc
78
+ - Rakefile
76
79
  - app/assets/javascripts/simple_admin_panel.js
77
80
  - app/assets/stylesheets/admin/layout.css.scss
78
81
  - app/controllers/simple_admin_panel/application_controller.rb
@@ -82,19 +85,19 @@ files:
82
85
  - app/views/layouts/simple_admin_panel/_navbar.html.erb
83
86
  - app/views/layouts/simple_admin_panel/application.html.erb
84
87
  - config/routes.rb
88
+ - lib/simple_admin_panel.rb
85
89
  - lib/simple_admin_panel/controller_extensions.rb
86
90
  - lib/simple_admin_panel/engine.rb
87
91
  - lib/simple_admin_panel/version.rb
88
- - lib/simple_admin_panel.rb
89
92
  - lib/tasks/simple_admin_panel_tasks.rake
90
- - MIT-LICENSE
91
- - Rakefile
92
- - README.rdoc
93
+ - test/dummy/README.rdoc
94
+ - test/dummy/Rakefile
93
95
  - test/dummy/app/assets/javascripts/application.js
94
96
  - test/dummy/app/assets/stylesheets/application.css
95
97
  - test/dummy/app/controllers/application_controller.rb
96
98
  - test/dummy/app/helpers/application_helper.rb
97
99
  - test/dummy/app/views/layouts/application.html.erb
100
+ - test/dummy/config.ru
98
101
  - test/dummy/config/application.rb
99
102
  - test/dummy/config/boot.rb
100
103
  - test/dummy/config/database.yml
@@ -110,13 +113,10 @@ files:
110
113
  - test/dummy/config/initializers/wrap_parameters.rb
111
114
  - test/dummy/config/locales/en.yml
112
115
  - test/dummy/config/routes.rb
113
- - test/dummy/config.ru
114
116
  - test/dummy/public/404.html
115
117
  - test/dummy/public/422.html
116
118
  - test/dummy/public/500.html
117
119
  - test/dummy/public/favicon.ico
118
- - test/dummy/Rakefile
119
- - test/dummy/README.rdoc
120
120
  - test/dummy/script/rails
121
121
  - test/integration/navigation_test.rb
122
122
  - test/simple_admin_panel_test.rb
@@ -130,17 +130,17 @@ require_paths:
130
130
  - lib
131
131
  required_ruby_version: !ruby/object:Gem::Requirement
132
132
  requirements:
133
- - - ! '>='
133
+ - - ">="
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  required_rubygems_version: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - ! '>='
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  requirements: []
142
142
  rubyforge_project:
143
- rubygems_version: 2.0.3
143
+ rubygems_version: 2.2.2
144
144
  signing_key:
145
145
  specification_version: 4
146
146
  summary: Base admin panel.