tkh_admin_panel 0.9 → 0.9.1

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.
@@ -1,3 +1,4 @@
1
- @import 'bootstrap_and_overrides.css.scss';
2
- @import 'united.css.scss';
3
- @import 'custom.css.scss';
1
+ @import 'admin/bootstrap_and_overrides.css.scss';
2
+ @import 'admin/united.css.scss';
3
+ @import 'admin/custom.css.scss';
4
+
@@ -1,24 +1,35 @@
1
1
  class SettingsController < ApplicationController
2
-
2
+
3
3
  before_filter :authenticate
4
4
  before_filter :authenticate_with_admin
5
-
5
+
6
+ def index
7
+ redirect_to setting_path(Setting.first)
8
+ end
9
+
6
10
  def show
7
11
  @setting = Setting.first
8
12
  switch_to_admin_layout
9
13
  end
10
-
14
+
11
15
  def edit
12
16
  @setting = Setting.first
13
17
  switch_to_admin_layout
14
18
  end
15
-
19
+
16
20
  def update
17
21
  @setting = Setting.first
18
- if @setting.update_attributes(params[:setting])
22
+ if @setting.update_attributes(setting_params)
19
23
  redirect_to @setting, notice: t('settings.update.notice')
20
24
  else
21
25
  render action: "edit", warning: t('settings.update.warning')
22
26
  end
23
27
  end
28
+
29
+ private
30
+
31
+ # Never trust parameters from the scary internet, only allow the white list through.
32
+ def setting_params
33
+ params.require(:setting).permit( :company_name, :contact_email, :site_name, :site_tagline, :blog_name, :blog_tagline, :disable_blog, :enable_comments_in_pages, :enable_comments_in_blog )
34
+ end
24
35
  end
@@ -1,12 +1,5 @@
1
- # this is needed for now to make mass assignment security compatible with the translation of globalize3
2
- Globalize::ActiveRecord::Translation.class_eval do
3
- attr_accessible :locale
4
- end
5
-
6
1
  class Setting < ActiveRecord::Base
7
-
8
- attr_accessible :company_name, :contact_email, :site_name, :site_tagline, :blog_name, :blog_tagline, :disable_blog, :enable_comments_in_pages, :enable_comments_in_blog
9
-
2
+
10
3
  translates :site_name, :site_tagline, :blog_name, :blog_tagline
11
-
4
+
12
5
  end
@@ -2,73 +2,84 @@
2
2
  <html lang="<%= I18n.locale.to_s %>">
3
3
  <head>
4
4
  <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
5
  <title><%= t("admin_panel_for") + ' ' + Setting.first.try(:site_name) %></title>
7
- <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <%= stylesheet_link_tag "admin", :media => "all" %>
8
+ <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
9
+ <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
8
10
  <!--[if lt IE 9]>
9
- <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
11
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
12
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
10
13
  <![endif]-->
11
- <!-- Le styles -->
12
- <%= stylesheet_link_tag "admin", :media => "all" %>
13
- <!-- Le fav and touch icons -->
14
- <%= favicon_link_tag %>
15
- <link href="images/apple-touch-icon.png" rel="apple-touch-icon">
16
- <link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
17
- <link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
18
- <%= csrf_meta_tag %>
14
+ <%= favicon_link_tag %>
15
+ <%= csrf_meta_tag %>
19
16
  <% # This line ensures javascript code can access the current locale from Rails %>
20
17
  <script type="text/javascript">var tkh_locale = '<%= I18n.locale.to_s %>';</script>
21
18
  </head>
22
19
 
23
20
  <body>
24
-
25
- <div class="navbar navbar-fixed-top navbar-inverse">
26
- <div class="navbar-inner">
27
- <div class="container">
28
- <ul class="nav">
29
- <%= content_tag :li, link_to(Setting.first.try(:site_name), root_path) %>
30
- <%= content_tag :li, link_to(t('blog.itself'), blog_path) %>
31
- <%= render 'shared/login_info_for_navbar' %>
32
- </ul>
33
- </div>
34
- </div>
21
+
22
+ <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
23
+ <ul class="nav navbar-nav">
24
+ <%= content_tag :li, link_to(Setting.first.try(:site_name), root_path) %>
25
+ <%= content_tag :li, link_to( 'blog', blog_path) %>
26
+ </ul>
27
+ <ul class="nav navbar-nav navbar-right navbar-login-info">
28
+ <li class="dropdown">
29
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><%= current_user.email %> <b class="caret"></b></a>
30
+ <ul class="dropdown-menu">
31
+ <li><%= link_to 'log out', logout_path %></li>
32
+ </ul>
33
+ </li>
34
+ </ul>
35
35
  </div>
36
-
37
- <div class="container-fluid">
38
- <div class="row-fluid">
39
- <div class="span12">
40
- <h1>
41
- <%= t "admin_panel" %><br />
42
- <%= image_tag 'admin-logo.png', alt: 'Ten Thousand Hours logo' %>
43
- </h1>
44
- <%= render 'shared/flash_messages' %>
45
- </div>
46
- </div>
47
-
48
- <div class="row-fluid">
49
- <div id="main-content" class="span9">
36
+
37
+ <div class="container">
38
+
39
+ <div class="row">
40
+ <div class="col-xs-12">
41
+ <h1><%= t 'admin_panel' %><br />
42
+ <%= link_to image_tag('admin/admin-logo.jpg'), root_path %><br /><br />
43
+ </h1>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="row">
48
+ <div class="col-xs-12 col-sm-9 col-lg-10">
49
+ <% flash.each do |name, msg| %>
50
+ <div class="alert alert-<%= name == :notice ? "success" : "danger" %>">
51
+ <a class="close" data-dismiss="alert">×</a>
52
+ <%= msg %>
53
+ </div>
54
+ <% end %>
50
55
  <%= yield %>
51
56
  </div>
52
- <div id="sidebar" class="span3">
53
- <%= render 'shared/language_switcher' %>
54
- <%= yield :admin_sidebar %>
55
- </div>
56
- </div><!--/row-->
57
+
58
+ <div class="col-xs-12 col-sm-3 col-lg-2">
59
+ <%= render 'shared/language_switcher' %>
60
+ <%= yield :admin_sidebar %>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="row">
65
+ <footer class="col-xs-12">
66
+ <hr>
67
+ <p><b>Ten Thousand Hours</b><br />
68
+ <%= link_to "http://tenthousandhours.eu", "http://tenthousandhours.eu" %><br />
69
+ <%= link_to "Contact TKH", "http://tenthousandhours.eu/pages/5-contact-form" %><br /><br />
70
+ <%= image_tag 'admin/tkh-logo.png', alt: 'Ten Thousand Hours logo' %><br />
71
+ </p>
72
+ </footer>
73
+ </div>
74
+
57
75
  </div> <!-- /container -->
58
-
59
- <div class="row-fluid">
60
- <footer class="span12">
61
- <hr>
62
- <p><b>Ten Thousand Hours</b><br />
63
- <%= link_to "http://tenthousandhours.eu", "http://tenthousandhours.eu" %><br />
64
- <%= link_to "Contact TKH", "http://tenthousandhours.eu/pages/5-contact-form" %><br /></p>
65
- </footer>
66
- </div>
67
-
68
- <!-- Le javascript
69
- ================================================== -->
70
- <!-- Placed at the end of the document so the pages load faster -->
76
+
71
77
  <%= javascript_include_tag "admin" %>
72
78
 
79
+ <% # the twitter typeahead javascript library needs all typeahead form fields to be present in DOM. this is an ugly hack %>
80
+ <% if controller.controller_name == 'pages' %>
81
+ <%= javascript_include_tag 'admin/pages' %>
82
+ <% end %>
83
+
73
84
  </body>
74
85
  </html>
data/config/routes.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  Rails.application.routes.draw do
2
- scope "(:locale)", locale: /#{I18n.available_locales.join("|")}/ do
2
+ scope "(:locale)" do
3
3
  resources :settings
4
4
  end
5
- end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module TkhAdminPanel
2
- VERSION = "0.9"
2
+ VERSION = "0.9.1"
3
3
  end
@@ -1,18 +1,22 @@
1
- require "tkh_admin_panel/version"
1
+ require 'tkh_admin_panel/version'
2
+ require 'globalize'
2
3
  require 'bootstrap-sass'
4
+ require 'twitter-typeahead-rails'
5
+ require 'bootstrap-will_paginate'
3
6
  require 'simple_form'
4
7
  require 'tkh_admin_panel/tkh_admin_panel_action_controller_extension'
5
8
  require 'tkh_authentication'
9
+ require 'jquery-ui-rails'
6
10
 
7
11
  module TkhAdminPanel
8
12
  class Engine < ::Rails::Engine
9
13
  initializer "TkhAdminPanel precompile hook", :group => :all do |app|
10
- app.config.assets.precompile += ['admin.js', 'admin.css']
14
+ app.config.assets.precompile += ['admin.js', 'admin.css', 'admin/pages.js']
11
15
  end
12
-
16
+
13
17
  # to extend the application_controller in the host app
14
18
  initializer 'tkh_admin_panel.controller' do |app|
15
- ActiveSupport.on_load(:action_controller) do
19
+ ActiveSupport.on_load(:action_controller) do
16
20
  include TkhAdminPanelActionControllerExtension
17
21
  end
18
22
  end
@@ -8,15 +8,19 @@ Gem::Specification.new do |gem|
8
8
  gem.summary = %q{A Rails admin panel engine with layout, assets, and basic functionality}
9
9
  gem.homepage = "https://github.com/allesklar/tkh_admin_panel"
10
10
 
11
- gem.add_dependency "railties", "~> 4.0"
12
- gem.add_dependency "bootstrap-sass", '~> 2.3.2'
13
- gem.add_dependency "simple_form", '3.0.0.rc'
14
- gem.add_dependency "tkh_authentication", '~> 0.9'
15
-
16
11
  gem.files = `git ls-files`.split($\)
17
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
13
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
14
  gem.name = "tkh_admin_panel"
20
15
  gem.require_paths = ["lib"]
21
16
  gem.version = TkhAdminPanel::VERSION
17
+
18
+ gem.add_dependency "railties", "> 4.0"
19
+ gem.add_dependency "globalize"
20
+ gem.add_dependency "bootstrap-sass"
21
+ gem.add_dependency "bootstrap-will_paginate"
22
+ gem.add_dependency 'twitter-typeahead-rails' # for autocomplete fields in forms
23
+ gem.add_dependency "simple_form", '~> 3.0.1'
24
+ gem.add_dependency "tkh_authentication", '~> 0.9'
25
+ gem.add_dependency "jquery-ui-rails"
22
26
  end
metadata CHANGED
@@ -1,57 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tkh_admin_panel
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.9'
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Swami Atma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-31 00:00:00.000000000 Z
11
+ date: 2014-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - '>'
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.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
26
  version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: globalize
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bootstrap-sass
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ~>
45
+ - - '>='
32
46
  - !ruby/object:Gem::Version
33
- version: 2.3.2
47
+ version: '0'
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ~>
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bootstrap-will_paginate
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
39
67
  - !ruby/object:Gem::Version
40
- version: 2.3.2
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: twitter-typeahead-rails
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: simple_form
43
85
  requirement: !ruby/object:Gem::Requirement
44
86
  requirements:
45
- - - '='
87
+ - - ~>
46
88
  - !ruby/object:Gem::Version
47
- version: 3.0.0.rc
89
+ version: 3.0.1
48
90
  type: :runtime
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
- - - '='
94
+ - - ~>
53
95
  - !ruby/object:Gem::Version
54
- version: 3.0.0.rc
96
+ version: 3.0.1
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: tkh_authentication
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +108,20 @@ dependencies:
66
108
  - - ~>
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0.9'
111
+ - !ruby/object:Gem::Dependency
112
+ name: jquery-ui-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
69
125
  description: Admin panel layout engine
70
126
  email:
71
127
  - swami@TenThousandHours.eu
@@ -80,13 +136,14 @@ files:
80
136
  - LICENSE
81
137
  - README.md
82
138
  - Rakefile
83
- - app/assets/images/admin-logo.png
139
+ - app/assets/images/admin/tkh-logo.png
84
140
  - app/assets/javascripts/admin.js
85
- - app/assets/javascripts/custom.js.coffee
141
+ - app/assets/javascripts/admin/custom.js.coffee
142
+ - app/assets/javascripts/admin/pages.js.coffee
86
143
  - app/assets/stylesheets/admin.css.scss
87
- - app/assets/stylesheets/bootstrap_and_overrides.css.scss
88
- - app/assets/stylesheets/custom.css.scss
89
- - app/assets/stylesheets/united.css.scss
144
+ - app/assets/stylesheets/admin/bootstrap_and_overrides.css.scss
145
+ - app/assets/stylesheets/admin/custom.css.scss
146
+ - app/assets/stylesheets/admin/united.css.scss
90
147
  - app/controllers/settings_controller.rb
91
148
  - app/mailers/admin_mailer.rb
92
149
  - app/models/setting.rb
@@ -133,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
190
  version: '0'
134
191
  requirements: []
135
192
  rubyforge_project:
136
- rubygems_version: 2.0.3
193
+ rubygems_version: 2.1.10
137
194
  signing_key:
138
195
  specification_version: 4
139
196
  summary: A Rails admin panel engine with layout, assets, and basic functionality
@@ -1,2 +0,0 @@
1
- @import "bootstrap";
2
- @import "bootstrap-responsive";
@@ -1,27 +0,0 @@
1
- body {
2
- margin-top: 35px;
3
- @include hyphens;
4
- }
5
-
6
- footer {
7
- margin: 2em 1em .5em;
8
- text-align: center;
9
- }
10
-
11
- input, textarea {
12
- width: 450px;
13
- }
14
-
15
- h1 {
16
- text-align: center;
17
- }
18
-
19
- form {
20
- margin: 2em .5em;
21
- }
22
-
23
- .help-block { color: #999; }
24
-
25
- .form-horizontal input + .help-block, .form-horizontal select + .help-block, .form-horizontal textarea + .help-block, .form-horizontal .uneditable-input + .help-block, .form-horizontal .input-prepend + .help-block, .form-horizontal .input-append + .help-block {
26
- margin-top: 3px;
27
- }