roroacms 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/app/assets/javascripts/roroacms/admin/admin.js +1 -0
  2. data/app/assets/javascripts/roroacms/admin/menu.js +14 -2
  3. data/app/assets/javascripts/roroacms/admin/posts/posts.js +1 -1
  4. data/app/assets/javascripts/roroacms/admin/settings/settings.js +1 -1
  5. data/app/assets/javascripts/roroacms/admin/site.js +1 -1
  6. data/app/assets/stylesheets/roroacms/admin/main.css.erb +37 -5
  7. data/app/assets/stylesheets/roroacms/vendor/ghostdown.css +13 -5
  8. data/app/controllers/roroacms/application_controller.rb +11 -1
  9. data/app/helpers/roroacms/media_helper.rb +1 -1
  10. data/app/helpers/roroacms/seo_helper.rb +4 -2
  11. data/app/views/roroacms/admin/administrators/_form.html.erb +0 -1
  12. data/app/views/roroacms/admin/menus/index.html.erb +10 -2
  13. data/app/views/roroacms/admin/partials/_content_form.html.erb +42 -14
  14. data/app/views/roroacms/admin/partials/_revision_tree.html.erb +2 -1
  15. data/app/views/roroacms/admin/partials/_submit_bar.html.erb +0 -7
  16. data/app/views/roroacms/admin/partials/_table_header.html.erb +1 -1
  17. data/app/views/roroacms/admin/settings/index.html.erb +78 -31
  18. data/app/views/roroacms/admin/terms/edit.html.erb +0 -3
  19. data/app/views/roroacms/setup/index.html.erb +8 -0
  20. data/config/locales/en.yml +3 -0
  21. data/db/seeds.rb +2 -0
  22. data/lib/roroacms/engine.rb +2 -2
  23. metadata +4 -17
  24. data/app/assets/images/roroacms/admin/Spaceship.gif +0 -0
  25. data/app/assets/images/roroacms/admin/avatar.gif +0 -0
  26. data/app/assets/images/roroacms/admin/avatar.png +0 -0
  27. data/app/assets/images/roroacms/admin/avatar1.gif +0 -0
  28. data/app/assets/images/roroacms/admin/avatar2.gif +0 -0
  29. data/app/assets/images/roroacms/admin/avatar3.gif +0 -0
  30. data/app/assets/images/roroacms/admin/avatar4.gif +0 -0
  31. data/app/assets/images/roroacms/admin/avatar5.gif +0 -0
  32. data/app/assets/images/roroacms/admin/avatar6.gif +0 -0
  33. data/app/assets/images/roroacms/admin/favicon-old.ico +0 -0
  34. data/app/assets/images/roroacms/admin/select2.png +0 -0
  35. data/app/assets/images/roroacms/admin/spritemap.png +0 -0
  36. data/app/assets/images/roroacms/admin/top.png +0 -0
@@ -91,4 +91,5 @@ $(document).ready(function() {
91
91
  $("#tableFilter").keyup(function() {
92
92
  dTable.fnFilter($(this).val());
93
93
  });
94
+ $('.tooltipState:not(.active)').tooltip({delay: {show:1000, hide:100}});
94
95
  });
@@ -9,7 +9,13 @@ $(document).ready(function() {
9
9
  url: $('.js-settings').attr('data-site-url') + "admin/menus/save_menu",
10
10
  data: data,
11
11
  dataType: "html",
12
- success: function(data) {}
12
+ success: function(data) {
13
+ if(data == 'demo'){
14
+ do_demo_alert();
15
+ } else {
16
+ do_alert();
17
+ }
18
+ }
13
19
  });
14
20
  };
15
21
  do_alert = function() {
@@ -18,6 +24,13 @@ $(document).ready(function() {
18
24
  scrollTop: $("#header").offset().top
19
25
  }, "slow");
20
26
  };
27
+
28
+ do_demo_alert = function(){
29
+ $("#main-content .row > .col-md-12 .alert-wrapper").html("<div class=\"alert alert-danger\"><button data-dismiss=\"alert\" class=\"close\" type=\"button\">x</button><strong>Error!</strong> You are working in demo mode so no CRUD functions will be undertaken</div>");
30
+ $("html,body").animate({
31
+ scrollTop: $("#header").offset().top
32
+ }, "slow");
33
+ }
21
34
  build_under_form = function(data, selector) {
22
35
  $.ajax({
23
36
  type: "POST",
@@ -43,7 +56,6 @@ $(document).ready(function() {
43
56
  });
44
57
  $(".update-menu").bind("click", function(e) {
45
58
  do_update_function();
46
- do_alert();
47
59
  });
48
60
  $("ol.sortable").on("click", "i.handler", function() {
49
61
  var container;
@@ -51,7 +51,7 @@ $(document).ready(function() {
51
51
  $("body").on("click", ".addAdditionalDataInput", function() {
52
52
  $.ajax({
53
53
  type: "POST",
54
- url: settings.attr('data-site-url') + "admin/articles/create_additional_data",
54
+ url: $('.js-settings').attr('data-site-url') + "admin/articles/create_additional_data",
55
55
  data: "key=" + $("#addAdditionalDataInput").val(),
56
56
  dataType: "html",
57
57
  success: function(data) {
@@ -9,7 +9,7 @@ $(document).ready(function() {
9
9
  $("body").on("click", ".addGroupInput", function() {
10
10
  $.ajax({
11
11
  type: "POST",
12
- url: settings.attr('data-site-url') + "admin/settings/create_user_group",
12
+ url: $('.js-settings').attr('data-site-url') + "admin/settings/create_user_group",
13
13
  data: "key=" + $("#addGroupInput").val(),
14
14
  dataType: "html",
15
15
  success: function(data) {
@@ -37,7 +37,7 @@ app = (function() {
37
37
  $(".sidebar").addClass("sidebar-toggle");
38
38
  $(".main-content-wrapper").addClass("main-content-toggle-left");
39
39
  }
40
- $(".sidebar-right").toggleClass("sidebar-toggle-right animated bounceInRight");
40
+ $(".sidebar-right").toggleClass("sidebar-toggle-right bounceInRight");
41
41
  $(".main-content-wrapper").toggleClass("main-content-toggle-right");
42
42
  if ($(window).width() < 660) {
43
43
  $(".sidebar").removeClass("sidebar-toggle");
@@ -1719,6 +1719,10 @@ fieldset[disabled] .btn-warning.active {
1719
1719
  font-size: 1em;
1720
1720
  margin: 0 3px;
1721
1721
  }
1722
+
1723
+ .panel .actions i.fa-chevron-down {
1724
+ display: none;
1725
+ }
1722
1726
  .panel .actions i:hover {
1723
1727
  cursor: pointer;
1724
1728
  }
@@ -2719,8 +2723,8 @@ h3.timeline-title {
2719
2723
  margin-bottom: 10px;
2720
2724
  }
2721
2725
  .radio-inline:first-child {
2722
- margin-left: 0px;
2723
- padding-left: 0px;
2726
+ /* margin-left: 0px;
2727
+ padding-left: 0px;*/
2724
2728
  }
2725
2729
  select.form-control {
2726
2730
  margin-bottom: 10px;
@@ -2823,7 +2827,7 @@ ol.sortable .item-information {
2823
2827
  .well small {
2824
2828
  color: #5D5F63;
2825
2829
  }
2826
- .floating-header {
2830
+ .floatingheader {
2827
2831
  -moz-box-sizing: border-box;
2828
2832
  background-color: rgba(0, 0, 0, 0) !important;
2829
2833
  background-image: linear-gradient(to bottom, #ffffff 0%, #ffffff 25%, rgba(255, 255, 255, 0.9) 100%) !important;
@@ -2836,7 +2840,7 @@ ol.sortable .item-information {
2836
2840
  top: 0;
2837
2841
  z-index: 400;
2838
2842
  }
2839
- .floating-header i {
2843
+ .floatingheader i {
2840
2844
  margin-top: 5px;
2841
2845
  }
2842
2846
  .features .editor .CodeMirror pre {
@@ -3506,13 +3510,29 @@ ul.theme-issues li i.fa-check {
3506
3510
  border-radius:0px;
3507
3511
  }
3508
3512
 
3513
+ .tooltip-inner {
3514
+ background-color: #EEEEEE;
3515
+ color:#5D5F63;
3516
+ opacity: 1;
3517
+ }
3518
+
3519
+ .tooltip.right .tooltip-arrow {
3520
+ border-right: 5px solid #EEEEEE;
3521
+
3522
+ }
3523
+
3524
+ input, textarea, select, input[type=submit] {
3525
+ -webkit-appearance: none;
3526
+ }
3527
+
3528
+
3509
3529
  @media only screen and (max-width: 767px) and (min-width: 480px) {
3510
3530
  #main-content .h1 {
3511
3531
  font-size: 35px;
3512
3532
  }
3513
3533
  }
3514
3534
  @media (max-width: 767px) {
3515
- #D7DCDE ul.timeline:before {
3535
+ ul.timeline:before {
3516
3536
  left: 40px;
3517
3537
  }
3518
3538
  ul.timeline > li > .timeline-badge {
@@ -3538,6 +3558,15 @@ ul.theme-issues li i.fa-check {
3538
3558
  .shrink {
3539
3559
  display: none;
3540
3560
  }
3561
+
3562
+ .floatingheader > a, .floatingheader .entry-word-count {
3563
+ display: none;
3564
+ }
3565
+
3566
+ .radio-inline, .checkbox-inline {
3567
+ display: block;
3568
+ padding:0px;
3569
+ }
3541
3570
  }
3542
3571
  @media only screen and (max-width: 960px) {
3543
3572
  strong {
@@ -3553,6 +3582,9 @@ ul.theme-issues li i.fa-check {
3553
3582
  margin-left: 0px;
3554
3583
  width: 100%;
3555
3584
  }
3585
+ .panel .actions i.fa-chevron-down {
3586
+ display: none;
3587
+ }
3556
3588
  }
3557
3589
  @media only screen and (max-width: 767px) {
3558
3590
  strong {
@@ -301,11 +301,11 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
301
301
  }
302
302
  }
303
303
  .features .editor .editorwrap {
304
- max-width: 100%;
304
+ max-width: 1180px;
305
305
  padding: 40px 0;
306
306
  margin: 0 auto;
307
307
  position: relative;
308
- height: 450px
308
+ height: 700px
309
309
  }
310
310
  @media (max-width: 860px), (max-width: 860px) {
311
311
  .features .editor .editorwrap {
@@ -386,8 +386,10 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
386
386
  box-shadow: rgba(0,0,0,0.1) 0 -2px 3px inset;
387
387
  padding: 10px 0;
388
388
  }
389
- .entry-preview {
390
- display: none !important;
389
+
390
+ .editor {
391
+ position: relative;
392
+ margin-top: 40px !important;
391
393
  }
392
394
  .features .editor .entry-markdown .floatingheader a, .features .editor .entry-preview .floatingheader a {
393
395
  color: #fff
@@ -407,12 +409,16 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
407
409
  .features .editor .entry-markdown.active header, .features .editor .entry-preview.active header {
408
410
  cursor: auto;
409
411
  color: #aaa9a2;
412
+ color:#5d5f63;
410
413
  background: #fff;
411
414
  box-shadow: #edece4 0 1px 0 inset, #edece4 1px 0 0 inset, #edece4 -1px 0 0 inset
412
415
  }
413
416
  .features .editor .entry-markdown.active header a, .features .editor .entry-preview.active header a {
414
417
  color: #aaa9a2
415
418
  }
419
+ .features .editor .entry-markdown .floatingheader, .features .editor .entry-preview .floatingheader {
420
+ color: #aaa9a2;
421
+ }
416
422
  }
417
423
  @media (max-width: 400px), (max-width: 400px) {
418
424
  .features .editor .entry-markdown .markdown-help, .features .editor .entry-markdown .entry-word-count, .features .editor .entry-preview .markdown-help, .features .editor .entry-preview .entry-word-count {
@@ -503,7 +509,9 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
503
509
  padding: 65px 0 40px 0
504
510
  }
505
511
  @media (max-width: 860px), (max-width: 860px) {
506
-
512
+ .features .editor .CodeMirror-lines {
513
+ padding: 25px 0 30px 0
514
+ }
507
515
  }
508
516
  @media (max-width: 400px), (max-width: 400px) {
509
517
  .features .editor .CodeMirror-lines {
@@ -6,6 +6,7 @@ module Roroacms
6
6
  before_filter :set_vars
7
7
  before_filter :check_setup
8
8
  before_filter :add_breadcrumb_fe
9
+ before_filter :authorize_demo, :except => [:index, :show, :edit, :new]
9
10
 
10
11
  protect_from_forgery
11
12
  helper Roroacms::PrepcontentHelper
@@ -97,7 +98,7 @@ module Roroacms
97
98
  # checks if the admin is logged in before anything else
98
99
 
99
100
  def authorize_admin
100
- redirect_to admin_login_path, error: I18n.t("controllers.application.unauthorized") and return if current_user.nil?
101
+ redirect_to admin_login_path, flash: { error: I18n.t("controllers.application.unauthorized") } and return if current_user.nil?
101
102
  end
102
103
 
103
104
 
@@ -123,6 +124,15 @@ module Roroacms
123
124
  @breadcrumbs << hash
124
125
  end
125
126
 
127
+ def authorize_demo
128
+ if !request.xhr? && !request.get? && ( !current_user.blank? && current_user.username.downcase == 'demo' && Setting.get('demonstration_mode') == 'Y' )
129
+ redirect_to :back, flash: { error: I18n.t('generic.demo_notification') } and return
130
+ end
131
+
132
+ render :inline => 'demo' and return if params[:action] == 'save_menu'
133
+
134
+ end
135
+
126
136
 
127
137
  # protected
128
138
 
@@ -14,7 +14,7 @@ module Roroacms
14
14
  S3 = AWS::S3.new
15
15
 
16
16
  def upload_images(file, type, initial_folder = 'users')
17
- path = "#{BUCKET}/" + initial_folder.to_s + "/" + type.to_s + "/" + file.original_filename
17
+ path = "#{BUCKET}/" + Setting.get("aws_folder") + "/" + initial_folder.to_s + "/" + type.to_s + "/" + file.original_filename
18
18
  begin
19
19
  obj = S3.buckets[BUCKET].objects["#{path}"].write(:file => file, :acl => :public_read)
20
20
  unauthenticated_url(obj)
@@ -105,13 +105,15 @@ module Roroacms
105
105
  # if seo description is not blank then use that
106
106
  if !@content.post_seo_description.blank?
107
107
  return "<meta name=\"description\" content=\"#{@content.post_seo_description}\" />\n<meta name=\"author\" content=\"#{Setting.get('seo_site_title')}\">"
108
- else
109
- # if worst comes to worst use the page title
108
+ elsif Setting.get('seo_autogenerate_descriptions') == 'Y'
109
+ # if worst comes to worst use the page content
110
110
  description = truncate(prep_content(@content), :length => 100, :separator => ' ').gsub(/\r?\n|\r/, "")
111
111
  return "<meta name=\"description\" content=\"#{strip_tags(description)}\" />\n<meta name=\"author\" content=\"#{Setting.get('seo_site_title')}\">"
112
112
  end
113
113
  end
114
114
 
115
+ return ''
116
+
115
117
  end
116
118
 
117
119
 
@@ -71,7 +71,6 @@
71
71
  </div>
72
72
  <div class="clearfix"></div>
73
73
  </div>
74
-
75
74
  <div class="form-group">
76
75
  <%= f.label :avatar, :class => "col-sm-3 control-label" %>
77
76
  <div class="col-sm-6">
@@ -6,9 +6,17 @@
6
6
  <div class="panel-body">
7
7
  <div class="tab-wrapper tab-left ">
8
8
  <ul class="nav nav-tabs">
9
- <li class="active"><a href="#new" data-toggle="tab"><i class="fa fa-plus"></i> <%= t("views.admin.menus.index.new_menu") %></a></li>
9
+ <li class="tooltipState active" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.menus.index.new_menu") %>">
10
+ <a href="#new" data-toggle="tab">
11
+ <i class="fa fa-plus"></i>
12
+ </a>
13
+ </li>
10
14
  <% @all_menus.each_with_index do |m, index| %>
11
- <li><a href="#<%= m.key + '-' + index.to_s %>" data-toggle="tab"><i class="fa fa-list"></i> <%= m.name %></a></li>
15
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" title="<%= m.name %>">
16
+ <a href="#<%= m.key + '-' + index.to_s %>" data-toggle="tab">
17
+ <i class="fa fa-list"></i> <%= m.name %>
18
+ </a>
19
+ </li>
12
20
  <% end %>
13
21
  </ul>
14
22
  <div class="tab-content">
@@ -1,18 +1,43 @@
1
1
  <%= form_for [:admin, @record], :url => { action: @action.to_sym } do |f| %>
2
2
 
3
3
  <div class="panel panel-default">
4
- <div class="panel-body">
4
+ <div class="panel-body" id="collapsed_tabs">
5
5
  <div class="tab-wrapper tab-left ">
6
6
  <ul class="nav nav-tabs">
7
7
 
8
- <li class="active"><a href="#general" data-toggle="tab"><i class="fa fa-cog"></i> <%= t("views.admin.generic.general") %></a></li>
9
- <li><a class="contentReload" href="#content" data-toggle="tab"><i class="fa fa-desktop"></i> <%= t("views.admin.generic.content") %></a></li>
10
- <li><a href="#revisions" data-toggle="tab"><i class="fa fa-history"></i> <%= t("views.admin.pages.new.tabs.history") %></a></li>
11
- <li><a href="#seo" data-toggle="tab"><i class="fa fa-bar-chart-o"></i> <%= t("views.admin.generic.search_engine_optimisation") %></a></li>
8
+ <li class="active tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.generic.general") %>">
9
+ <a href="#general" data-toggle="tab">
10
+ <i class="fa fa-cog"></i>
11
+ </a>
12
+ </li>
13
+
14
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.generic.content") %>">
15
+ <a class="contentReload" href="#content" data-toggle="tab">
16
+ <i class="fa fa-desktop"></i>
17
+ </a>
18
+ </li>
19
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.pages.new.tabs.history") %>">
20
+ <a href="#revisions" data-toggle="tab">
21
+ <i class="fa fa-history"></i>
22
+ </a>
23
+ </li>
24
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.generic.search_engine_optimisation") %>">
25
+ <a href="#seo" data-toggle="tab">
26
+ <i class="fa fa-bar-chart-o"></i>
27
+ </a>
28
+ </li>
12
29
  <% if @post_type == 'post' %>
13
- <li><a href="#categories" data-toggle="tab"><i class="fa fa-sitemap"></i> <%= t("views.admin.pages.new.tabs.tags_and_categories") %></a></li>
30
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.pages.new.tabs.tags_and_categories") %>">
31
+ <a href="#categories" data-toggle="tab">
32
+ <i class="fa fa-sitemap"></i>
33
+ </a>
34
+ </li>
14
35
  <% end %>
15
- <li><a href="#additional" data-toggle="tab"><i class="fa fa-paperclip"></i> <%= t("views.admin.pages.new.tabs.additional") %></a></li>
36
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.pages.new.tabs.additional") %>">
37
+ <a href="#additional" data-toggle="tab">
38
+ <i class="fa fa-paperclip"></i>
39
+ </a>
40
+ </li>
16
41
 
17
42
  </ul>
18
43
  <div class="tab-content">
@@ -136,22 +161,24 @@
136
161
 
137
162
  </div>
138
163
  <div class="tab-pane" id="content">
139
- <!--
140
- <%= f.text_area :post_content, :class => 'editor', :value => @record.post_content.blank? ? '' : @record.post_content %>
141
- -->
142
164
 
143
- <div class="features">
165
+ <div class="features">
166
+
144
167
  <section class="editor">
145
168
  <div class="outer">
146
169
  <div class="editorwrap">
147
170
  <section class="entry-markdown">
148
- <header class="floating-header"><%= t("views.admin.pages.new.tab_content.markdown") %> <a href="javascript:;" data-toggle="modal" data-target="#mdModal"><i class="fa fa-info-circle pull-right"></i></a></header>
171
+ <header class="floatingheader">
172
+ &nbsp;&nbsp; <%= t("views.admin.pages.new.tab_content.markdown") %> <a href="javascript:;" data-toggle="modal" data-target="#mdModal"><i class="fa fa-info-circle pull-right"></i></a>
173
+ </header>
149
174
  <section class="entry-markdown-content">
150
- <%= f.text_area :post_content, :class => 'markdown_editor', :value => @record.post_content.blank? ? '...' : @record.post_content %>
175
+ <%= f.text_area :post_content, :class => 'markdown_editor', :value => @record.post_content.blank? ? '...' : @record.post_content %>
151
176
  </section>
152
177
  </section>
153
178
  <section class="entry-preview active">
154
- <header class="floating-header">&nbsp; <%= t("views.admin.generic.preview") %> <span class="entry-word-count">0 <%= t("views.admin.generic.words") %></span> </header>
179
+ <header class="floatingheader">
180
+ &nbsp;&nbsp; <%= t("views.admin.generic.preview") %> <span class="entry-word-count">0 <%= t("views.admin.generic.words") %></span>
181
+ </header>
155
182
  <section class="entry-preview-content">
156
183
  <div class="rendered-markdown"></div>
157
184
  </section>
@@ -159,6 +186,7 @@
159
186
  </div>
160
187
  </div>
161
188
  </section>
189
+
162
190
  </div>
163
191
 
164
192
  </div>
@@ -1,6 +1,6 @@
1
1
  <% @revisions = Roroacms::Post.where(:ancestry => @record.id.to_s, :post_type => 'autosave').order('created_at desc') %>
2
2
 
3
- <% if @revisions.blank? || @record.id.blank? %>
3
+ <% if @revisions.blank? || @record.id.blank? || @revisions.size <= 1 %>
4
4
 
5
5
  <div class="text-center top-margin-20">
6
6
  <strong class="text-center"><%= t("views.admin.partials.revision_tree.no_revisions") %></strong>
@@ -10,6 +10,7 @@
10
10
 
11
11
  <ul class="timeline-single">
12
12
 
13
+
13
14
  <%
14
15
  @revisions.each_with_index do |f, index| %>
15
16
 
@@ -1,11 +1,4 @@
1
1
  <div class="form-toolbar">
2
- <% cache('admin_submit_bar_toggle') do %>
3
- <div class="toggle-navigation toggle-left pull-left">
4
- <button type="button" class="btn btn-default shrink">
5
- <i class="fa fa-bars"></i>
6
- </button>
7
- </div>
8
- <% end %>
9
2
  <div class="btn-group pull-right">
10
3
  <% if ! defined?(unbuttoned) %>
11
4
  <% if defined?(post_record) && !post_record.id.blank? %>
@@ -1,7 +1,7 @@
1
1
  <div class="row">
2
2
  <div class="col-md-6">
3
3
  <% if defined?(path) %>
4
- <%= link_to path, id: defined?(id) ? id : '', class: "pull-left btn btn-small btn-block btn-primary" do %>
4
+ <%= link_to path, id: defined?(id) ? id : '', class: "btn btn-small btn-block btn-primary" do %>
5
5
  <span class="fa fa-plus"></span>&nbsp;<%= name %>
6
6
  <% end %>
7
7
  <% else %>
@@ -10,12 +10,38 @@
10
10
  <div class="panel-body">
11
11
  <div class="tab-wrapper tab-left ">
12
12
  <ul class="nav nav-tabs">
13
- <li class="active"><a href="#general" data-toggle="tab"><i class="fa fa-cog"></i> <%= t("views.admin.generic.general") %></a></li>
14
- <li><a href="#email" data-toggle="tab"><i class="fa fa-envelope-o"></i> <%= t("views.admin.settings.tabs.email_config") %></a></li>
15
- <li><a href="#amazon" data-toggle="tab"><i class="fa fa-cloud-upload"></i> <%= t("views.admin.settings.tabs.aws") %></a></li>
16
- <li><a href="#comment" data-toggle="tab"><i class="fa fa-comments"></i> <%= t("generic.comments") %></a></li>
17
- <li><a href="#seo" data-toggle="tab"><i class="fa fa-bar-chart-o"></i> <%= t("views.admin.generic.search_engine_optimisation") %></a></li>
18
- <li><a href="#user-groups" data-toggle="tab"><i class="fa fa-users"></i> <%= t("views.admin.settings.tabs.user_groups") %></a></li>
13
+ <li class="tooltipState active" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.generic.general") %>">
14
+ <a href="#general" data-toggle="tab">
15
+ <i class="fa fa-cog"></i>
16
+ </a>
17
+ </li>
18
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.settings.tabs.email_config") %>">
19
+ <a href="#email" data-toggle="tab">
20
+ <i class="fa fa-envelope-o"></i>
21
+ </a>
22
+ </li>
23
+ <% if current_user.username.downcase != 'demo' && Roroacms::Setting.get('demonstration_mode') == 'Y' %>
24
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.settings.tabs.aws") %>">
25
+ <a href="#amazon" data-toggle="tab">
26
+ <i class="fa fa-cloud-upload"></i>
27
+ </a>
28
+ </li>
29
+ <% end %>
30
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("generic.comments") %>">
31
+ <a href="#comment" data-toggle="tab">
32
+ <i class="fa fa-comments"></i>
33
+ </a>
34
+ </li>
35
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.generic.search_engine_optimisation") %>">
36
+ <a href="#seo" data-toggle="tab">
37
+ <i class="fa fa-bar-chart-o"></i>
38
+ </a>
39
+ </li>
40
+ <li class="tooltipState" data-toggle="tooltip" data-placement="right" data-title="<%= t("views.admin.settings.tabs.user_groups") %>">
41
+ <a href="#user-groups" data-toggle="tab">
42
+ <i class="fa fa-users"></i>
43
+ </a>
44
+ </li>
19
45
  </ul>
20
46
  <div class="tab-content">
21
47
  <%= render :partial => 'roroacms/admin/partials/submit_bar' %>
@@ -92,6 +118,14 @@
92
118
  </div>
93
119
  <div class="clearfix"></div>
94
120
  </div>
121
+ <div class="form-group">
122
+ <%= label_tag(:home_page, t("views.admin.settings.tab_content.home_page"), class: "col-sm-3 control-label") %>
123
+ <div class="col-sm-6">
124
+ <%= select_tag :home_page, options_for_select(Roroacms::Post.where(:post_type => 'page').collect {|p| [ p.post_title, p.id ] }, @settings['home_page']), prompt: t("views.admin.generic.select_homepage"), class: 'form-control' %>
125
+
126
+ </div>
127
+ <div class="clearfix"></div>
128
+ </div>
95
129
  <div class="form-group">
96
130
  <%= label_tag(:breadcrumb_seperator, t("views.admin.settings.tab_content.breadcrumb_seperator"), class: "col-sm-3 control-label") %>
97
131
  <div class="col-sm-6">
@@ -101,11 +135,14 @@
101
135
  <div class="clearfix"></div>
102
136
  </div>
103
137
  <div class="form-group">
104
- <%= label_tag(:home_page, t("views.admin.settings.tab_content.home_page"), class: "col-sm-3 control-label") %>
138
+ <%= label_tag(:demonstration_mode, t("views.admin.settings.tab_content.demonstration_mode"), class: "col-sm-3 control-label") %>
105
139
  <div class="col-sm-6">
106
- <%= select_tag :home_page, options_for_select(Roroacms::Post.where(:post_type => 'page').collect {|p| [ p.post_title, p.id ] }, @settings['home_page']), prompt: t("views.admin.generic.select_homepage"), class: 'form-control' %>
107
-
140
+ <div class="">
141
+ <%= hidden_field_tag :demonstration_mode, 'N' %>
142
+ <%= check_box_tag :demonstration_mode, 'Y', @settings['demonstration_mode'] == 'Y' ? true : false %>
143
+ </div>
108
144
  </div>
145
+ <div class="clearfix"></div>
109
146
  </div>
110
147
  </div>
111
148
  <div class="tab-pane" id="email">
@@ -174,32 +211,42 @@
174
211
 
175
212
 
176
213
  </div>
177
- <div class="tab-pane" id="amazon">
178
- <div class="form-group">
179
- <%= label_tag(:aws_access_key_id, t("views.admin.settings.tab_content.aws_access_key_id "), class: "col-sm-3 control-label") %>
180
- <div class="col-sm-6">
181
- <%= text_field_tag(:aws_access_key_id, @settings['aws_access_key_id'], class: 'form-control') %>
182
- <%= setting_errors_for @settings, :aws_access_key_id %>
214
+ <% if current_user.username.downcase != 'demo' && Roroacms::Setting.get('demonstration_mode') == 'Y' %>
215
+ <div class="tab-pane" id="amazon">
216
+ <div class="form-group">
217
+ <%= label_tag(:aws_access_key_id, t("views.admin.settings.tab_content.aws_access_key_id "), class: "col-sm-3 control-label") %>
218
+ <div class="col-sm-6">
219
+ <%= text_field_tag(:aws_access_key_id, @settings['aws_access_key_id'], class: 'form-control') %>
220
+ <%= setting_errors_for @settings, :aws_access_key_id %>
221
+ </div>
222
+ <div class="clearfix"></div>
183
223
  </div>
184
- <div class="clearfix"></div>
185
- </div>
186
- <div class="form-group">
187
- <%= label_tag(:aws_secret_access_key, t("views.admin.settings.tab_content.aws_secret_access_key"), class: "col-sm-3 control-label") %>
188
- <div class="col-sm-6">
189
- <%= text_field_tag(:aws_secret_access_key, @settings['aws_secret_access_key'], class: 'form-control') %>
190
- <%= setting_errors_for @settings, :aws_secret_access_key %>
224
+ <div class="form-group">
225
+ <%= label_tag(:aws_secret_access_key, t("views.admin.settings.tab_content.aws_secret_access_key"), class: "col-sm-3 control-label") %>
226
+ <div class="col-sm-6">
227
+ <%= text_field_tag(:aws_secret_access_key, @settings['aws_secret_access_key'], class: 'form-control') %>
228
+ <%= setting_errors_for @settings, :aws_secret_access_key %>
229
+ </div>
230
+ <div class="clearfix"></div>
191
231
  </div>
192
- <div class="clearfix"></div>
193
- </div>
194
- <div class="form-group">
195
- <%= label_tag(:aws_bucket_name, t("views.admin.settings.tab_content.aws_bucket_name"), class: "col-sm-3 control-label") %>
196
- <div class="col-sm-6">
197
- <%= text_field_tag(:aws_bucket_name, @settings['aws_bucket_name'], class: 'form-control') %>
198
- <%= setting_errors_for @settings, :aws_bucket_name %>
232
+ <div class="form-group">
233
+ <%= label_tag(:aws_bucket_name, t("views.admin.settings.tab_content.aws_bucket_name"), class: "col-sm-3 control-label") %>
234
+ <div class="col-sm-6">
235
+ <%= text_field_tag(:aws_bucket_name, @settings['aws_bucket_name'], class: 'form-control') %>
236
+ <%= setting_errors_for @settings, :aws_bucket_name %>
237
+ </div>
238
+ <div class="clearfix"></div>
239
+ </div>
240
+ <div class="form-group">
241
+ <%= label_tag(:aws_folder, t("views.admin.settings.tab_content.aws_folder"), class: "col-sm-3 control-label") %>
242
+ <div class="col-sm-6">
243
+ <%= text_field_tag(:aws_folder, @settings['aws_folder'], class: 'form-control') %>
244
+ <%= setting_errors_for @settings, :aws_folder %>
245
+ </div>
246
+ <div class="clearfix"></div>
199
247
  </div>
200
- <div class="clearfix"></div>
201
248
  </div>
202
- </div>
249
+ <% end %>
203
250
  <div class="tab-pane" id="comment">
204
251
  <div class="form-group">
205
252
  <%= label_tag(:article_comments, t("views.admin.settings.tab_content.article_comments"), class: "col-sm-3 control-label") %>
@@ -23,9 +23,6 @@
23
23
  <div class="panel panel-default">
24
24
  <div class="panel-heading">
25
25
  <h3 class="panel-title">Articles in <%= @type.capitalize %></h3>
26
- <div class="actions pull-right">
27
- <i class="fa fa-chevron-down"></i>
28
- </div>
29
26
  </div>
30
27
  <div class="panel-body no-padding">
31
28
  <ul class="list-group">
@@ -89,6 +89,14 @@
89
89
  </div>
90
90
  <div class="clearfix"></div>
91
91
  </div>
92
+ <div class="form-group">
93
+ <%= label_tag(:aws_folder, t("views.admin.settings.tab_content.aws_folder"), class: "col-sm-3 control-label") %>
94
+ <div class="col-sm-6">
95
+ <%= text_field_tag(:aws_folder, @settings['aws_folder'], class: 'form-control') %>
96
+ <%= setting_errors_for @settings, :aws_folder %>
97
+ </div>
98
+ <div class="clearfix"></div>
99
+ </div>
92
100
 
93
101
  <div class="form-group">
94
102
  <div class="col-sm-3">&nbsp;</div>
@@ -13,6 +13,7 @@ en:
13
13
  two: "Installation - Administrator"
14
14
  theme_issues:
15
15
  title: "Theme Issues"
16
+ demo_notification: "You are working in demo mode so no CRUD functions will be undertaken"
16
17
  add_new_user: "Add New User"
17
18
  profile: "Profile"
18
19
  users: "Users"
@@ -441,6 +442,7 @@ en:
441
442
  category_slug: "Category Slug"
442
443
  tag_slug: "Tag Slug"
443
444
  breadcrumb_seperator: "Breadcrumb Seperator"
445
+ demonstration_mode: "Demonstration Mode"
444
446
  home_page: "Home Page"
445
447
  smtp_username: "Server E-mail Address"
446
448
  smtp_password: "SMTP password"
@@ -469,6 +471,7 @@ en:
469
471
  aws_access_key_id: "AWS S3 - Access Key ID"
470
472
  aws_secret_access_key: "AWS S3 - Secret Access Key ID"
471
473
  aws_bucket_name: "AWS S3 - Bucket name"
474
+ aws_folder: "AWS S3 - folder name"
472
475
  url_prefix: "URL prefix"
473
476
  terms:
474
477
  table:
data/db/seeds.rb CHANGED
@@ -36,6 +36,7 @@ Roroacms::Setting.create(:setting_name => 'theme_folder', :type_of_setting => 'T
36
36
  Roroacms::Setting.create(:setting_name => 'aws_access_key_id', :type_of_setting => 'AWS')
37
37
  Roroacms::Setting.create(:setting_name => 'aws_secret_access_key', :type_of_setting => 'AWS')
38
38
  Roroacms::Setting.create(:setting_name => 'aws_bucket_name', :type_of_setting => 'AWS')
39
+ Roroacms::Setting.create(:setting_name => 'aws_folder', :type_of_setting => 'AWS')
39
40
  Roroacms::Setting.create(:setting_name => 'smtp_address', :type_of_setting => 'EMAIL')
40
41
  Roroacms::Setting.create(:setting_name => 'smtp_domain', :type_of_setting => 'EMAIL')
41
42
  Roroacms::Setting.create(:setting_name => 'smtp_port', :type_of_setting => 'EMAIL')
@@ -46,6 +47,7 @@ Roroacms::Setting.create(:setting_name => 'setup_complete', :type_of_setting =>
46
47
  Roroacms::Setting.create(:setting_name => 'tour_taken', :type_of_setting => 'G', :setting => 'N')
47
48
  Roroacms::Setting.create(:setting_name => 'url_prefix', :type_of_setting => 'G', :setting => 'http://')
48
49
  Roroacms::Setting.create(:setting_name => 'breadcrumb_seperator', :type_of_setting => 'G', :setting => '/')
50
+ Roroacms::Setting.create(:setting_name => 'demonstration_mode', :type_of_setting => 'G', :setting => 'N')
49
51
  Roroacms::Setting.create(:setting_name => 'user_groups', :type_of_setting => 'G', :setting => '{"admin":["posts","banners","terms","comments","media","menus","pages","revisions","settings","themes","trash","administrators","articles","banners","terms","comments","media","menus","pages","revisions","themes","trash","markdown"]}')
50
52
 
51
53
  Roroacms::Post.create(:post_title => 'Sample page', :post_type => 'page', :post_status => 'Published', :post_slug => 'sample', :structured_url => '/sample', :post_date => Time.now.to_s(:db), :admin_id => '1', :post_content => '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sollicitudin a orci ut tempor. Praesent in diam sagittis ligula sodales iaculis. Suspendisse ante nisi, sagittis quis elementum ac, tempor at nisi. Vestibulum convallis luctus nisi, ac tincidunt velit facilisis at. Duis eget rhoncus mi, sit amet fringilla felis. Pellentesque egestas, nisi ullamcorper venenatis vehicula, ipsum sem congue velit, sit amet molestie orci massa quis sapien. Aliquam in nisl quis augue ultricies interdum. Aenean pretium, lacus et posuere porttitor, velit erat placerat mi, tristique bibendum tellus magna sit amet elit. Donec turpis tellus, elementum nec consequat vel, tempus et turpis. Nunc quis elit volutpat, congue justo ac, sollicitudin diam. Etiam rhoncus nibh at ipsum porttitor mollis.</p>
@@ -58,8 +58,8 @@ module Roroacms
58
58
  Rails.application.config.assets.paths << "#{Dir.pwd}/app/assets/stylesheets/roroacms" if Dir.exists?("#{Dir.pwd}/app/assets/stylesheets/roroacms")
59
59
  Rails.application.config.assets.precompile += %w( roroacms/roroacms.js ) if File.exists?("#{Dir.pwd}/app/assets/javascripts/roroacms/roroacms.js")
60
60
  Rails.application.config.assets.precompile += %w( roroacms/roroacms.css ) if File.exists?("#{Dir.pwd}/app/assets/stylesheets/roroacms/roroacms.css")
61
- Rails.application.config.assets.precompile += %w( theme.css )
62
- Rails.application.config.assets.precompile += %w( theme.js )
61
+ Rails.application.config.assets.precompile += ["theme.css", "theme.js", "theme.scss", "theme.coffee"]
62
+ Rails.application.config.assets.precompile += ["#{Dir.pwd}/app/views/themes/#{Setting.get('theme_folder')}/assets/images/*"]
63
63
 
64
64
  end
65
65
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roroacms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
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-08-24 00:00:00.000000000 Z
12
+ date: 2014-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -286,32 +286,19 @@ dependencies:
286
286
  description: A full Rails engine providing content management functionality for any
287
287
  Rails 4 application that is fully extendable and is completely boundless
288
288
  email:
289
- - simonfletcher0@gmail.com
289
+ - roroacms@gmail.com
290
290
  executables: []
291
291
  extensions: []
292
292
  extra_rdoc_files: []
293
293
  files:
294
- - app/assets/images/roroacms/admin/avatar.gif
295
- - app/assets/images/roroacms/admin/avatar.png
296
- - app/assets/images/roroacms/admin/avatar1.gif
297
- - app/assets/images/roroacms/admin/avatar2.gif
298
- - app/assets/images/roroacms/admin/avatar3.gif
299
- - app/assets/images/roroacms/admin/avatar4.gif
300
- - app/assets/images/roroacms/admin/avatar5.gif
301
- - app/assets/images/roroacms/admin/avatar6.gif
302
294
  - app/assets/images/roroacms/admin/chosen-sprite.png
303
295
  - app/assets/images/roroacms/admin/chosen-sprite@2x.png
304
- - app/assets/images/roroacms/admin/favicon-old.ico
305
296
  - app/assets/images/roroacms/admin/favicon.ico
306
297
  - app/assets/images/roroacms/admin/grey.png
307
298
  - app/assets/images/roroacms/admin/grey@2x.png
308
299
  - app/assets/images/roroacms/admin/logo.png
309
300
  - app/assets/images/roroacms/admin/roroa-logo.png
310
301
  - app/assets/images/roroacms/admin/roroafull.png
311
- - app/assets/images/roroacms/admin/select2.png
312
- - app/assets/images/roroacms/admin/Spaceship.gif
313
- - app/assets/images/roroacms/admin/spritemap.png
314
- - app/assets/images/roroacms/admin/top.png
315
302
  - app/assets/images/roroacms/default-profile.jpg
316
303
  - app/assets/javascripts/roroacms/admin/admin.js
317
304
  - app/assets/javascripts/roroacms/admin/application.js
@@ -1042,7 +1029,7 @@ files:
1042
1029
  - spec/support/factories.rb
1043
1030
  - spec/support/selectors.rb
1044
1031
  - spec/support/utilities.rb
1045
- homepage: http://roroacms.co.uk
1032
+ homepage: http://www.roroacms.co.uk
1046
1033
  licenses:
1047
1034
  - MIT
1048
1035
  post_install_message: