cms-fortress 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -6,6 +6,7 @@ source "http://rubygems.org"
6
6
  gem 'cancan', '>=1.6.9'
7
7
  gem 'delayed_job', '~>4'
8
8
  gem 'tinymce-rails', '~>4.0.0'
9
+ gem 'tinymce-rails-langs', '~>4.0'
9
10
 
10
11
  # Add dependencies to develop your gem here.
11
12
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -50,7 +50,7 @@ GEM
50
50
  coffee-script-source
51
51
  execjs
52
52
  coffee-script-source (1.7.0)
53
- comfortable_mexican_sofa (1.12.0)
53
+ comfortable_mexican_sofa (1.12.1)
54
54
  active_link_to (>= 1.0.0)
55
55
  bootstrap-sass (~> 3.1.0)
56
56
  bootstrap_form (~> 2.1.1)
@@ -61,8 +61,8 @@ GEM
61
61
  jquery-ui-rails (>= 4.0.0)
62
62
  kaminari (>= 0.14.0)
63
63
  kramdown (>= 1.0.0)
64
- paperclip (>= 3.4.0)
65
- rails (~> 4.0)
64
+ paperclip (>= 4.0.0)
65
+ rails (>= 4.0.0)
66
66
  rails-i18n (~> 4.0.0)
67
67
  sass-rails (>= 4.0.3)
68
68
  tinymce-rails (>= 4.0.0)
@@ -78,7 +78,7 @@ GEM
78
78
  warden (~> 1.2.3)
79
79
  docile (1.1.3)
80
80
  erubis (2.7.0)
81
- execjs (2.0.2)
81
+ execjs (2.1.0)
82
82
  faraday (0.9.0)
83
83
  multipart-post (>= 1.2, < 3)
84
84
  git (1.2.6)
@@ -116,8 +116,7 @@ GEM
116
116
  jquery-ui-rails (4.2.1)
117
117
  railties (>= 3.2.16)
118
118
  json (1.8.1)
119
- jwt (0.1.13)
120
- multi_json (>= 1.5)
119
+ jwt (1.0.0)
121
120
  kaminari (0.15.1)
122
121
  actionpack (>= 3.0.0)
123
122
  activesupport (>= 3.0.0)
@@ -128,14 +127,14 @@ GEM
128
127
  mime-types (1.25.1)
129
128
  mini_portile (0.6.0)
130
129
  minitest (5.3.4)
131
- multi_json (1.10.0)
130
+ multi_json (1.10.1)
132
131
  multi_xml (0.5.5)
133
132
  multipart-post (2.0.0)
134
133
  nokogiri (1.6.2.1)
135
134
  mini_portile (= 0.6.0)
136
- oauth2 (0.9.3)
135
+ oauth2 (0.9.4)
137
136
  faraday (>= 0.8, < 0.10)
138
- jwt (~> 0.1.8)
137
+ jwt (~> 1.0)
139
138
  multi_json (~> 1.3)
140
139
  multi_xml (~> 0.5)
141
140
  rack (~> 1.2)
@@ -191,14 +190,16 @@ GEM
191
190
  activesupport (>= 3.0)
192
191
  sprockets (~> 2.8)
193
192
  thor (0.19.1)
194
- thread_safe (0.3.3)
193
+ thread_safe (0.3.4)
195
194
  tilt (1.4.1)
196
- tinymce-rails (4.0.19)
195
+ tinymce-rails (4.0.26)
197
196
  railties (>= 3.1.1)
197
+ tinymce-rails-langs (4.20140129)
198
+ tinymce-rails (~> 4.0)
198
199
  treetop (1.4.15)
199
200
  polyglot
200
201
  polyglot (>= 0.3.1)
201
- tzinfo (1.1.0)
202
+ tzinfo (1.2.0)
202
203
  thread_safe (~> 0.1)
203
204
  warden (1.2.3)
204
205
  rack (>= 1.0)
@@ -217,3 +218,4 @@ DEPENDENCIES
217
218
  rdoc
218
219
  simplecov
219
220
  tinymce-rails (~> 4.0.0)
221
+ tinymce-rails-langs (~> 4.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.1
1
+ 1.2.2
@@ -0,0 +1,5 @@
1
+ #= require tinymce-jquery
2
+
3
+ window.CMS.wysiwyg = ->
4
+ `<%= tinymce_init %>`
5
+
@@ -5,6 +5,13 @@
5
5
  color: #3c763d;
6
6
  }
7
7
 
8
+ .alert-error {
9
+ background-color: #f2dede;
10
+ border-color: #eed3d7;
11
+ color: #b94a48;
12
+ text-align: center;
13
+ }
14
+
8
15
  .alert-notice hr {
9
16
  border-top-color: #c9e2b3;
10
17
  }
@@ -12,3 +19,7 @@
12
19
  .alert-notice .alert-link {
13
20
  color: #2b542c;
14
21
  }
22
+
23
+ .current-site-info {
24
+ margin-top: -1.2em;
25
+ }
@@ -60,7 +60,12 @@ class Cms::Fortress::RolesController < Comfy::Admin::Cms::BaseController
60
60
  # POST /cms/fortress/roles.json
61
61
  def create
62
62
  @cms_fortress_role = Cms::Fortress::Role.new(role_params)
63
- @cms_fortress_role.load_defaults
63
+ begin
64
+ @cms_fortress_role.load_defaults
65
+ rescue Error::MissingRoleConfigurationFile
66
+ flash[:error] = @cms_fortress_role.errors.messages[:base].first
67
+ render action: "new" and return
68
+ end
64
69
 
65
70
  respond_to do |format|
66
71
  if @cms_fortress_role.save
@@ -1,7 +1,7 @@
1
1
  module Cms::Fortress::ApplicationHelper
2
2
  def role_display(command)
3
3
  res = command.split(".")
4
- raw "#{content_tag(:strong, res.first.titleize) } / #{ res[1..-1].map {|r| r.titleize}.join(" - ") }"
4
+ raw "#{content_tag(:strong, t("cms.fortress.roles.#{res.first}")) } / #{ res[1..-1].map {|r| t("cms.fortress.roles.#{r}")}.join(" - ") }"
5
5
  end
6
6
 
7
7
  def theme_name
@@ -0,0 +1,49 @@
1
+ module Cms::Fortress::SprocketHelper
2
+ include TinyMCE::Rails::Helper
3
+
4
+ def tinymce_init
5
+ path = File.join(Rails.root, 'config', 'tinymce.yml')
6
+ if File.exist?(path)
7
+ config = YAML.load_file(path)
8
+ else
9
+ config = {}
10
+ end
11
+
12
+ options = {
13
+ menubar: 'tools format view',
14
+ toolbar1: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table | fullscreen code',
15
+ toolbar2: '',
16
+ plugins: "['code', 'fullscreen', 'media', 'link', 'table']",
17
+ language: 'en'
18
+ }.stringify_keys.merge(config)
19
+
20
+ <<-EOF
21
+ tinymce.init({
22
+ selector: 'textarea[data-cms-rich-text]',
23
+ menubar: '#{ options['menubar'] }',
24
+ toolbar1: '#{ options['toolbar1'] } | image fmedia link',
25
+ toolbar2: '#{ options['toolbar2'] }',
26
+ plugins: #{ options['plugins'] },
27
+ link_list: CmsFortress.media.othersUrl(),
28
+ language: '#{ options['language'] }',
29
+ setup: function(ed) {
30
+ ed.addButton('image', {
31
+ title: 'Insert Image',
32
+ onclick: function() {
33
+ return CmsFortress.media.showImageDialog(ed);
34
+ }
35
+ });
36
+ return ed.addButton('fmedia', {
37
+ tooltip: 'Insert Video',
38
+ icon: 'media',
39
+ stateSelector: ['img[data-mce-object=video]', 'img[data-mce-object=iframe]'],
40
+ onclick: function() {
41
+ return CmsFortress.media.showVideoDialog(ed);
42
+ }
43
+ });
44
+ }
45
+ });
46
+ EOF
47
+ end
48
+
49
+ end
@@ -10,10 +10,10 @@ class Cms::Fortress::Role < ActiveRecord::Base
10
10
  # load user custom roles
11
11
  if File.exist?(file = File.join(Rails.root, "config", "roles.yml"))
12
12
  load_from_file(file)
13
+ else
14
+ errors[:base] << I18n.t('cms.fortress.admin.errors.missing_roles_yaml_file')
15
+ raise Error::MissingRoleConfigurationFile
13
16
  end
14
-
15
- file = File.expand_path(File.join(File.dirname(__FILE__), "../../../../", "config", "roles.yml"))
16
- load_from_file(file)
17
17
  end
18
18
 
19
19
  private
@@ -36,3 +36,5 @@ class Cms::Fortress::Role < ActiveRecord::Base
36
36
 
37
37
  end
38
38
  end
39
+
40
+
@@ -0,0 +1,12 @@
1
+ module Error
2
+ # log error to the Rails log
3
+ def self.log_error(name, message)
4
+ Rails.logger.fatal("[ERROR:] in #{name} with message: #{message}\n\n")
5
+ end
6
+
7
+ class MissingRoleConfigurationFile < StandardError
8
+ def initialize
9
+ Error.log_error(self, "missing the roles.yml file in config/roles.yml")
10
+ end
11
+ end
12
+ end
@@ -8,7 +8,6 @@
8
8
 
9
9
 
10
10
  = form_for @cms_fortress_role, :html => {:class => ''} do |f|
11
-
12
11
  %table.table
13
12
  %tr
14
13
  %th
@@ -1,3 +1,8 @@
1
+ - unless @site.nil? || @site.new_record?
2
+ .container.current-site-info
3
+ %span.label.label-primary
4
+ = @site.label
5
+
1
6
  .container.wide-body
2
7
  - if controller_name.eql?('revisions')
3
8
  .row
data/cms-fortress.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "cms-fortress"
8
- s.version = "1.2.1"
8
+ s.version = "1.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Melvin Sembrano"]
12
- s.date = "2014-05-25"
12
+ s.date = "2014-06-01"
13
13
  s.description = "Comfortable Mexican Sofa (CMS) - User and role management extension"
14
14
  s.email = "melvinsembrano@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  "VERSION",
27
27
  "app/assets/javascripts/cms/fortress/cms_fortress.js",
28
28
  "app/assets/javascripts/cms/fortress/media.js.coffee",
29
- "app/assets/javascripts/cms/fortress/themes/wide.js.coffee",
29
+ "app/assets/javascripts/cms/fortress/themes/wide.js.coffee.erb",
30
30
  "app/assets/javascripts/html5shiv.js",
31
31
  "app/assets/stylesheets/cms/fortress/admin_overrides.css",
32
32
  "app/assets/stylesheets/cms/fortress/session.css",
@@ -37,12 +37,14 @@ Gem::Specification.new do |s|
37
37
  "app/controllers/cms/fortress/users_controller.rb",
38
38
  "app/helpers/cms/fortress/application_helper.rb",
39
39
  "app/helpers/cms/fortress/roles_helper.rb",
40
+ "app/helpers/cms/fortress/sprocket_helper.rb",
40
41
  "app/models/cms/fortress.rb",
41
42
  "app/models/cms/fortress/role.rb",
42
43
  "app/models/cms/fortress/role_detail.rb",
43
44
  "app/models/cms/fortress/user.rb",
44
45
  "app/models/cms/page_workflow.rb",
45
46
  "app/models/cms_ability.rb",
47
+ "app/models/error/missing_role_configuration_file.rb",
46
48
  "app/views/cms/fortress/admin/_left_contents_nav.html.haml",
47
49
  "app/views/cms/fortress/admin/_left_designs_nav.html.haml",
48
50
  "app/views/cms/fortress/admin/_left_nav.html.haml",
@@ -141,6 +143,7 @@ Gem::Specification.new do |s|
141
143
  s.add_runtime_dependency(%q<cancan>, [">= 1.6.9"])
142
144
  s.add_runtime_dependency(%q<delayed_job>, ["~> 4"])
143
145
  s.add_runtime_dependency(%q<tinymce-rails>, ["~> 4.0.0"])
146
+ s.add_runtime_dependency(%q<tinymce-rails-langs>, ["~> 4.0"])
144
147
  s.add_development_dependency(%q<rdoc>, [">= 0"])
145
148
  s.add_development_dependency(%q<bundler>, [">= 0"])
146
149
  s.add_development_dependency(%q<jeweler>, [">= 0"])
@@ -152,6 +155,7 @@ Gem::Specification.new do |s|
152
155
  s.add_dependency(%q<cancan>, [">= 1.6.9"])
153
156
  s.add_dependency(%q<delayed_job>, ["~> 4"])
154
157
  s.add_dependency(%q<tinymce-rails>, ["~> 4.0.0"])
158
+ s.add_dependency(%q<tinymce-rails-langs>, ["~> 4.0"])
155
159
  s.add_dependency(%q<rdoc>, [">= 0"])
156
160
  s.add_dependency(%q<bundler>, [">= 0"])
157
161
  s.add_dependency(%q<jeweler>, [">= 0"])
@@ -164,6 +168,7 @@ Gem::Specification.new do |s|
164
168
  s.add_dependency(%q<cancan>, [">= 1.6.9"])
165
169
  s.add_dependency(%q<delayed_job>, ["~> 4"])
166
170
  s.add_dependency(%q<tinymce-rails>, ["~> 4.0.0"])
171
+ s.add_dependency(%q<tinymce-rails-langs>, ["~> 4.0"])
167
172
  s.add_dependency(%q<rdoc>, [">= 0"])
168
173
  s.add_dependency(%q<bundler>, [">= 0"])
169
174
  s.add_dependency(%q<jeweler>, [">= 0"])
@@ -30,6 +30,8 @@ de:
30
30
  design_related_information: Diese Seite wird Design spezifische Einstellungen zeigen.
31
31
  content_dashboard: Dashboard für Inhalte
32
32
  content_related_information: "Diese Seite wird Inhalt spezifische Einstellungen zeigen (Historie, Graphen, Analytics und andere.)"
33
+ errors:
34
+ missing_roles_yaml_file: "Die Konfigurationsdatei config/roles.yml ist nicht vorhanden."
33
35
 
34
36
  roles:
35
37
  title: Rollen
@@ -45,12 +47,25 @@ de:
45
47
  description: Beschreibung
46
48
  show_access_rights: Zugriffsrechte anzeigen
47
49
  name: Name
50
+ contents: Inhalte
51
+ designs: Designs
52
+ settings: Einstellungen
53
+ files: Dateien
54
+ page: Seite
55
+ publish: publizieren
56
+ review: reviewen
57
+ pages: Seiten
58
+ layouts: Layouts
59
+ snippets: Schnipsel
60
+ roles: Rollen
61
+ sites: Seiten
62
+ users: Benutzer
48
63
 
49
64
  users:
50
65
  title: Benutzer
51
66
  new_link: Neuer Benutzer
52
67
  edit_title: Benutzer bearbeiten
53
- new_title: Neuen benutzer erstellen
68
+ new_title: Neuen Benutzer erstellen
54
69
  last_name: Nachname
55
70
  first_name: Vorname
56
71
  email: E-Mail
@@ -61,3 +76,19 @@ de:
61
76
  email_address: E-Mail Adresse
62
77
  password: Password
63
78
  remember_me: Angemeldet bleiben
79
+
80
+ activerecord:
81
+ attributes:
82
+ cms/fortress/user:
83
+ last_name: Nachname
84
+ first_name: Vorname
85
+ email: E-Mail
86
+ role_id: Rolle
87
+ password: Passwort
88
+ password_confirmation: Passwort Bestätigung
89
+ cms/fortress/role:
90
+ name: Name
91
+ description: Beschreibung
92
+ cms/fortress/role_detail:
93
+ contents: Inhalte
94
+
@@ -30,6 +30,8 @@ en:
30
30
  design_related_information: This page will show design related information.
31
31
  content_dashboard: Content Dashboard
32
32
  content_related_information: "This page will show contents related information (history, graphs, analytics and etc.)"
33
+ errors:
34
+ missing_roles_yaml_file: "The configuration file config/roles.yml is missing."
33
35
 
34
36
  roles:
35
37
  title: Roles
@@ -45,6 +47,19 @@ en:
45
47
  description: Description
46
48
  show_access_rights: Show Access Rights
47
49
  name: Name
50
+ contents: Contents
51
+ designs: Designs
52
+ settings: Settings
53
+ files: Files
54
+ page: Page
55
+ publish: publish
56
+ review: review
57
+ pages: Pages
58
+ layouts: Layouts
59
+ snippets: Snippets
60
+ roles: Roles
61
+ sites: Sites
62
+ users: Users
48
63
 
49
64
  users:
50
65
  title: Users
@@ -61,3 +76,13 @@ en:
61
76
  email_address: Email Address
62
77
  password: Password
63
78
  remember_me: Remember me
79
+
80
+ activerecord:
81
+ attributes:
82
+ cms/fortress/user:
83
+ last_name: Lastname
84
+ first_name: Firstname
85
+ email: Email
86
+ role_id: Role
87
+ password: Password
88
+ password_confirmation: Password Confirmation
@@ -7,6 +7,8 @@ module Cms
7
7
  # Devise::SessionsController.layout "cms/fortress/session"
8
8
  ApplicationController.helper(Cms::Fortress::ApplicationHelper)
9
9
 
10
+ Sprockets::Context.send :include, Cms::Fortress::SprocketHelper
11
+
10
12
  Comfy::Cms::ContentController.send(:include, Cms::Fortress::ContentRenderer)
11
13
  Comfy::Cms::Page.send(:include, Cms::Fortress::PageMethods)
12
14
  Comfy::Cms::File.send(:include, Cms::Fortress::FileMethods)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cms-fortress
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-25 00:00:00.000000000 Z
12
+ date: 2014-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -107,6 +107,22 @@ dependencies:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: 4.0.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: tinymce-rails-langs
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '4.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '4.0'
110
126
  - !ruby/object:Gem::Dependency
111
127
  name: rdoc
112
128
  requirement: !ruby/object:Gem::Requirement
@@ -188,7 +204,7 @@ files:
188
204
  - VERSION
189
205
  - app/assets/javascripts/cms/fortress/cms_fortress.js
190
206
  - app/assets/javascripts/cms/fortress/media.js.coffee
191
- - app/assets/javascripts/cms/fortress/themes/wide.js.coffee
207
+ - app/assets/javascripts/cms/fortress/themes/wide.js.coffee.erb
192
208
  - app/assets/javascripts/html5shiv.js
193
209
  - app/assets/stylesheets/cms/fortress/admin_overrides.css
194
210
  - app/assets/stylesheets/cms/fortress/session.css
@@ -199,12 +215,14 @@ files:
199
215
  - app/controllers/cms/fortress/users_controller.rb
200
216
  - app/helpers/cms/fortress/application_helper.rb
201
217
  - app/helpers/cms/fortress/roles_helper.rb
218
+ - app/helpers/cms/fortress/sprocket_helper.rb
202
219
  - app/models/cms/fortress.rb
203
220
  - app/models/cms/fortress/role.rb
204
221
  - app/models/cms/fortress/role_detail.rb
205
222
  - app/models/cms/fortress/user.rb
206
223
  - app/models/cms/page_workflow.rb
207
224
  - app/models/cms_ability.rb
225
+ - app/models/error/missing_role_configuration_file.rb
208
226
  - app/views/cms/fortress/admin/_left_contents_nav.html.haml
209
227
  - app/views/cms/fortress/admin/_left_designs_nav.html.haml
210
228
  - app/views/cms/fortress/admin/_left_nav.html.haml
@@ -301,7 +319,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
301
319
  version: '0'
302
320
  segments:
303
321
  - 0
304
- hash: 4381613348191105399
322
+ hash: -2597146753711526027
305
323
  required_rubygems_version: !ruby/object:Gem::Requirement
306
324
  none: false
307
325
  requirements:
@@ -1,24 +0,0 @@
1
- #= require tinymce-jquery
2
-
3
- window.CMS.wysiwyg = ->
4
- tinymce.init
5
- selector: 'textarea[data-cms-rich-text]'
6
- menubar: 'tools format view'
7
- toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | fullscreen code | image fmedia link"
8
- plugins: ['code', 'fullscreen', 'media', 'link']
9
- link_list: CmsFortress.media.othersUrl()
10
- setup: (ed) ->
11
- ed.addButton 'image',
12
- title: 'Insert Image'
13
- onclick: ->
14
- CmsFortress.media.showImageDialog(ed)
15
-
16
- ed.addButton 'fmedia',
17
- tooltip: 'Insert Video'
18
- icon: 'media'
19
- stateSelector: ['img[data-mce-object=video]', 'img[data-mce-object=iframe]']
20
- onclick: ->
21
- CmsFortress.media.showVideoDialog(ed)
22
-
23
-
24
-