quadro 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +3 -2
  3. data/app/assets/javascripts/quadro/application.js.coffee +2 -2
  4. data/app/assets/javascripts/quadro/quadro.js.coffee +6 -4
  5. data/app/assets/javascripts/quadro/widget.js.coffee +0 -2
  6. data/app/assets/stylesheets/quadro/application.css.sass +0 -1
  7. data/app/assets/stylesheets/quadro/quadro.css.sass +9 -0
  8. data/app/controllers/quadro/application_controller.rb +1 -0
  9. data/app/controllers/quadro/assets_controller.rb +15 -3
  10. data/app/controllers/quadro/pages_controller.rb +35 -6
  11. data/app/controllers/quadro/tools_controller.rb +1 -0
  12. data/app/controllers/quadro/widgets_controller.rb +6 -1
  13. data/app/models/quadro/page.rb +1 -1
  14. data/app/views/layouts/quadro/application.html.haml +1 -0
  15. data/app/views/layouts/quadro/devise.html.haml +2 -0
  16. data/app/views/quadro/assets/create.js.erb +0 -2
  17. data/app/views/quadro/assets/destroy.js.erb +0 -2
  18. data/app/views/quadro/assets/image/_image.html.haml +2 -2
  19. data/app/views/quadro/assets/slide/_slide.html.haml +2 -2
  20. data/app/views/quadro/assets/update.js.erb +1 -3
  21. data/app/views/quadro/pages/_edit.html.haml +3 -3
  22. data/app/views/quadro/pages/create.js.erb +3 -5
  23. data/app/views/quadro/pages/destroy.js.erb +0 -2
  24. data/app/views/quadro/pages/form.js.erb +0 -2
  25. data/app/views/quadro/pages/publish.js.erb +2 -2
  26. data/app/views/quadro/pages/unpublish.js.erb +2 -2
  27. data/app/views/quadro/pages/update.js.erb +1 -3
  28. data/app/views/quadro/shared/_navigation.html.haml +2 -3
  29. data/app/views/quadro/shared/_toolbar.html.haml +24 -41
  30. data/app/views/quadro/shared/templates/page/_list.html.haml +1 -1
  31. data/app/views/quadro/shared/templates/page/_thumbnail.html.haml +1 -1
  32. data/app/views/quadro/tools/sitemap_notifier.js.erb +0 -1
  33. data/app/views/quadro/users/update.js.erb +1 -3
  34. data/app/views/quadro/widgets/form/_toolbar.html.haml +1 -1
  35. data/app/views/quadro/widgets/gallery/_toolbar.html.haml +1 -1
  36. data/app/views/quadro/widgets/html/_toolbar.html.haml +1 -1
  37. data/app/views/quadro/widgets/map/_toolbar.html.haml +1 -1
  38. data/app/views/quadro/widgets/slider/_toolbar.html.haml +1 -1
  39. data/app/views/quadro/widgets/video/_toolbar.html.haml +1 -1
  40. data/app/views/users/mailer/reset_password_instructions.html.haml +5 -6
  41. data/app/views/users/mailer/unlock_instructions.html.haml +4 -5
  42. data/app/views/users/passwords/edit.html.haml +2 -2
  43. data/app/views/users/passwords/new.html.haml +2 -2
  44. data/app/views/users/sessions/new.html.haml +2 -2
  45. data/app/views/users/shared/_links.html.haml +6 -6
  46. data/app/views/users/unlocks/new.html.haml +2 -2
  47. data/config/locales/quadro.en.yml +47 -0
  48. data/lib/generators/quadro/install/templates/app/views/quadro/shared/_navigation.html.haml +3 -4
  49. data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/page/_list.html.haml +1 -1
  50. data/lib/generators/quadro/install/templates/app/views/quadro/shared/templates/page/_thumbnail.html.haml +1 -1
  51. data/lib/quadro/loader.rb +2 -0
  52. data/lib/quadro/version.rb +1 -1
  53. data/test/dummy/app/views/quadro/shared/templates/page/_list.html.haml +1 -1
  54. data/test/dummy/app/views/quadro/shared/templates/page/_thumbnail.html.haml +1 -1
  55. data/test/dummy/config/application.rb +0 -1
  56. data/test/dummy/log/development.log +0 -2
  57. metadata +102 -12
  58. data/app/assets/javascripts/quadro/message.js.coffee +0 -6
  59. data/app/assets/javascripts/quadro/plugins/humane.min.js +0 -11
  60. data/app/assets/stylesheets/quadro/plugins/humane-libnotify.min.css +0 -1
  61. data/config/locales/devise.en.yml +0 -60
  62. data/config/locales/kaminari.en.yml +0 -17
  63. data/config/locales/simple_form.en.yml +0 -26
  64. data/test/dummy/db/development.sqlite3 +0 -0
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzllZWY2MzZmZjhkOWQ2M2UzMjU2MmM2YzhkNGNmN2UwYTJjNmYzYw==
4
+ N2EzM2YwMmQxZDFiYmY1MzhiMzgwNjQwNzA0YzJhNmY3MDNjYjI2Zg==
5
5
  data.tar.gz: !binary |-
6
- YmI2ZmU1ZDhhNjI1NDJlOTVhMmUwOGE5ZmY3M2E4OTNkMTFjOWRhZA==
6
+ MWRhZjYwN2I5ZDBlNzJiMWJkY2M1NjE2NzdhOGU0MjgzNDM3YjNlZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDlhMDdlYzBlZDg1Y2YxYmE0ZDQ2ZWIwZDk4YmY1YWJkN2I1ZTQ5YzdhNzA0
10
- YTY4MTY5Mzk1NzdmNTg3MzI5MzZmZmViZWE4NzlkYzNiYzdlMzViZDg4NjE2
11
- OWY0ODk3ZGM0M2EwYWNlMThlODVhNGEzYjgwYWE2MDgyYjRiNDY=
9
+ MTExMDc0Mzg0NzdjYTVjYmVhYWIyOTVkM2MwMGYyMzhlNDc3NzRmNGNkOWM1
10
+ MGQ5NWYzNTExZDAzZTU3ODg3NWVhZTY4ODVkNTA4ZWQ4NmY4M2ZhZWM4ZjA3
11
+ YzExMjA0ZTZjZWI2NzcxZDM5ZjlkNzU0ODZmMWE5MDI1MzJjZjA=
12
12
  data.tar.gz: !binary |-
13
- MjE1OGFiMTBlNmZhYjBlYmMyNmIwMTQzZDgxMTJmNjYzYjZhN2QyODc5MjZh
14
- OGYzMmQ5NTYyODRhZjJmZTVjMDIyMzkxYWVkZThhZjdhNWIwYWQ5MmQxZWI4
15
- Y2Y0MzI4YzEyNDc5YzEyMzRhNTUzMDE5NDZlZGQ4Y2YxM2FkMDc=
13
+ OWNlMDU3OThmZDg4YmEwMWI3MzRkNTg0Yzk3NTdlOTcxYzFlZGFkYzljZjli
14
+ OGQ1NTQzNjU2OWRhY2Q5MWI0MWExMTE2Y2ExNjU5MGJhMzUxZTc4MjJlOGZl
15
+ MzJhYmNkNWY3MzIyMDZhNDI0M2U5YzliN2M4MDc3MTQ5OGY4NWE=
data/README.md CHANGED
@@ -35,10 +35,11 @@ Current stable version.
35
35
 
36
36
  [![Gem Version](https://badge.fury.io/rb/quadro.png)](https://badge.fury.io/rb/quadro)
37
37
 
38
- ## Code Climate and Travis CI status
38
+ ## Code Climate, Hakiri and Travis CI status
39
39
 
40
40
  [![Code Climate](https://codeclimate.com/github/hugogilmar/quadro/badges/gpa.svg)](https://codeclimate.com/github/hugogilmar/quadro)
41
41
  [![Test Coverage](https://codeclimate.com/github/hugogilmar/quadro/badges/coverage.svg)](https://codeclimate.com/github/hugogilmar/quadro/coverage)
42
+ [![Security](https://hakiri.io/github/hugogilmar/quadro/develop.svg)](https://hakiri.io/github/hugogilmar/quadro/develop)
42
43
  [![Build Status](https://travis-ci.org/hugogilmar/quadro.svg?branch=master)](https://travis-ci.org/hugogilmar/quadro)
43
44
 
44
45
  ## Installation
@@ -147,7 +148,7 @@ You can also set a playlist:
147
148
  = widget_for :video, type: :video, src: "https://www.youtube.com/watch?v=YE7VzlLtp-4&list=PLcsq2jjTfJ_pEUj2Cl4MlXnpgpSQMTO-f"
148
149
  ```
149
150
 
150
- *Note: works the same with vimeo's videos and playlists.*
151
+ *Note: works the same with Vimeo's videos and playlists.*
151
152
 
152
153
  ## Working with page templates
153
154
 
@@ -12,17 +12,17 @@
12
12
  #= require summernote
13
13
  #= require jquery.slick
14
14
  #= require moment
15
+ #= require unobtrusive_flash
16
+ #= require unobtrusive_flash_bootstrap
15
17
  #= require quadro/plugins/jquery.fs.dropper.min
16
18
  #= require quadro/plugins/jasny-bootstrap.min
17
19
  #= require quadro/plugins/jquery.smartmenus.min
18
20
  #= require quadro/plugins/jquery.smartmenus.bootstrap.min
19
21
  #= require quadro/plugins/jquery.show_char_limit.min
20
22
  #= require quadro/plugins/pace.min
21
- #= require quadro/plugins/humane.min
22
23
  #= require quadro/plugins/lightbox.min
23
24
  #= require quadro/plugins/gmaps.min
24
25
  #= require quadro/plugins/bootstrap-datetimepicker.min
25
- #= require quadro/message
26
26
  #= require quadro/widget
27
27
  #= require quadro/uploader
28
28
  #= require quadro/quadro
@@ -20,14 +20,14 @@ $(document).ready ->
20
20
  uploader = new Uploader $(this)
21
21
 
22
22
  $('#quadro-airmode-on').on 'click', ->
23
- $('#quadro-airmode-off').removeClass 'active'
24
- $(this).addClass 'active'
23
+ $('#quadro-airmode-off').removeClass 'hidden'
24
+ $(this).addClass 'hidden'
25
25
  for widget in Object.keys(widgets)
26
26
  widgets[widget].switchAirmodeOn()
27
27
 
28
28
  $('#quadro-airmode-off').on 'click', ->
29
- $('#quadro-airmode-on').removeClass 'active'
30
- $(this).addClass 'active'
29
+ $('#quadro-airmode-on').removeClass 'hidden'
30
+ $(this).addClass 'hidden'
31
31
  for widget in Object.keys(widgets)
32
32
  widgets[widget].switchAirmodeOff()
33
33
 
@@ -41,3 +41,5 @@ $(document).ready ->
41
41
  $('#quadro-gallery').removeClass('collapsed').addClass('expanded')
42
42
  else
43
43
  $('#quadro-gallery').removeClass('expanded').addClass('collapsed')
44
+
45
+ UnobtrusiveFlash.flashOptions['timeout'] = 3000
@@ -52,10 +52,8 @@ class Widget
52
52
  widget:
53
53
  content: @content
54
54
  success: (data) ->
55
- new Message "Content updated"
56
55
  return
57
56
  error: ->
58
- new Message "Content not updated"
59
57
  return
60
58
  return
61
59
 
@@ -13,7 +13,6 @@
13
13
  @import quadro/plugins/jasny-bootstrap.min
14
14
  @import quadro/plugins/jquery.smartmenus.bootstrap.min
15
15
  @import quadro/plugins/pace.min
16
- @import quadro/plugins/humane-libnotify.min
17
16
  @import quadro/plugins/lightbox.min
18
17
  @import quadro/plugins/bootstrap-datetimepicker.min
19
18
  @import quadro/quadro
@@ -8,6 +8,14 @@ form
8
8
  span.status
9
9
  @extend .help-block
10
10
 
11
+ .unobtrusive-flash-container
12
+ position: fixed
13
+ top: 0px
14
+ left: 10%
15
+ width: 80%
16
+ z-index: 2000
17
+ padding: 8px 0px 0px
18
+
11
19
  #quadro-toolbar
12
20
  padding: 8px
13
21
 
@@ -35,6 +43,7 @@ form
35
43
  height: 0em
36
44
 
37
45
  #quadro-gallery.expanded
46
+ margin-bottom: 8px
38
47
  padding: 0px
39
48
  height: 25em
40
49
  +transition-property(height)
@@ -1,5 +1,6 @@
1
1
  module Quadro
2
2
  class ApplicationController < ActionController::Base
3
+ after_filter :prepare_unobtrusive_flash
3
4
  helper_method :widget, :asset, :interaction, :root, :parent, :page, :subpages, :geoip, :video, :user, :users
4
5
 
5
6
  def after_sign_in_path_for(_resource)
@@ -7,15 +7,27 @@ module Quadro
7
7
  respond_to :js, :json, :xml
8
8
 
9
9
  def create
10
- asset.save
10
+ if asset.save
11
+ flash[:notice] = t('flash.created')
12
+ else
13
+ flash[:alert] = t('flash.not_created')
14
+ end
11
15
  end
12
16
 
13
17
  def update
14
- asset.update_attributes(params[:asset])
18
+ if asset.update_attributes(params[:asset])
19
+ flash[:notice] = t('flash.updated')
20
+ else
21
+ flash[:alert] = t('flash.not_updated')
22
+ end
15
23
  end
16
24
 
17
25
  def destroy
18
- asset.destroy
26
+ if asset.destroy
27
+ flash[:notice] = t('flash.deleted')
28
+ else
29
+ flash[:alert] = t('flash.not_deleted')
30
+ end
19
31
  end
20
32
  end
21
33
  end
@@ -10,29 +10,58 @@ module Quadro
10
10
 
11
11
  def create
12
12
  page.author = current_user
13
- page.save
13
+ if page.save
14
+ flash[:notice] = t('flash.created')
15
+ else
16
+ flash[:alert] = t('flash.not_created')
17
+ end
14
18
  end
15
19
 
16
20
  def update
17
- page.update_attributes(params[:page])
21
+ if page.update_attributes(params[:page])
22
+ flash[:notice] = t('flash.updated')
23
+ else
24
+ flash[:alert] = t('flash.not_updated')
25
+ end
18
26
  end
19
27
 
20
28
  def destroy
21
- page.destroy unless page.is_root?
29
+ unless page.is_root?
30
+ if page.destroy
31
+ flash[:notice] = t('flash.deleted')
32
+ else
33
+ flash[:alert] = t('flash.not_deleted')
34
+ end
35
+ else
36
+ flash[:alert] = t('flash.could_not_be_deleted')
37
+ end
22
38
  end
23
39
 
24
40
  def form
25
41
  interaction.ip_address = request.remote_ip
26
42
  interaction.user_agent = request.user_agent
27
- interaction.update_attributes(content: params[:form])
43
+ interaction.content = params[:form]
44
+ if interaction.save
45
+ flash[:notice] = t('flash.created')
46
+ else
47
+ flash[:alert] = t('flash.not_created')
48
+ end
28
49
  end
29
50
 
30
51
  def publish
31
- page.publish!
52
+ if page.publish!
53
+ flash[:notice] = t('flash.published')
54
+ else
55
+ flash[:alert] = t('flash.not_published')
56
+ end
32
57
  end
33
58
 
34
59
  def unpublish
35
- page.unpublish!
60
+ if page.unpublish!
61
+ flash[:notice] = t('flash.unpublished')
62
+ else
63
+ flash[:alert] = t('flash.not_unpublished')
64
+ end
36
65
  end
37
66
 
38
67
  private
@@ -8,6 +8,7 @@ module Quadro
8
8
 
9
9
  def sitemap_notifier
10
10
  notifier.run(sitemap_url)
11
+ flash[:notice] = t('flash.notified')
11
12
  end
12
13
  end
13
14
  end
@@ -7,7 +7,12 @@ module Quadro
7
7
  respond_to :js, :json, :xml
8
8
 
9
9
  def update
10
- widget.update_attributes(params[:widget])
10
+ if widget.update_attributes(params[:widget])
11
+ flash[:notice] = t('flash.updated')
12
+ else
13
+ flash[:alert] = t('flash.not_updated')
14
+ end
15
+
11
16
  respond_with widget
12
17
  end
13
18
  end
@@ -6,7 +6,7 @@ module Quadro
6
6
  SITEMAP_PRIORITY = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0].freeze
7
7
 
8
8
  # attributes
9
- attr_accessible :title, :summary, :template, :frequency, :priority, :cover_attributes, :author_id
9
+ attr_accessible :title, :summary, :template, :frequency, :priority, :cover_attributes, :author_id, :published_at
10
10
  store :settings, accessors: [:template, :frequency, :priority]
11
11
 
12
12
  # validations
@@ -24,6 +24,7 @@
24
24
  = favicon_link_tag 'quadro/favicon.ico'
25
25
  = csrf_meta_tags
26
26
  %body(class="#{(user_signed_in? ? 'quadro-signed-in' : '')}")
27
+ .unobtrusive-flash-container
27
28
  = yield
28
29
  - if user_signed_in?
29
30
  = render 'quadro/shared/toolbar'
@@ -8,4 +8,6 @@
8
8
  = favicon_link_tag 'quadro/favicon.ico'
9
9
  = csrf_meta_tags
10
10
  %body
11
+ .unobtrusive-flash-container
11
12
  = yield
13
+ = javascript_include_tag 'quadro/application'
@@ -5,7 +5,5 @@
5
5
  <% when 'slide' %>
6
6
  $('.asset-list').filter('[data-assetable-type="<%= asset.assetable.class.to_s %>"],[data-assetable-id="<%= asset.assetable.id %>"]').append('<%= escape_javascript(render("quadro/assets/slide/slide", asset: asset, widget: widget, page: page))%>');
7
7
  <% end %>
8
- new Message('Asset created');
9
8
  <% else %>
10
- new Message('Asset not created');
11
9
  <% end %>
@@ -5,7 +5,5 @@
5
5
  <% when 'slide' %>
6
6
  $('#slide-<%= asset.id %>').remove();
7
7
  <% end %>
8
- new Message('Asset deleted');
9
8
  <% else %>
10
- new Message('Asset not deleted');
11
9
  <% end %>
@@ -5,6 +5,6 @@
5
5
  .pull-right
6
6
 
7
7
  = link_to (widget.present? ? edit_page_widget_asset_path(page_id: page.id, widget_id: widget.id, id: asset.id) : edit_page_asset_path(id: asset.id, page_id: page.id)), remote: true, class: "btn btn-link btn-xs" do
8
- %i.fa.fa-cog.text-muted
9
- = link_to (widget.present? ? page_widget_asset_path(page_id: page.id, widget_id: widget.id, id: asset.id) : page_asset_path(id: asset.id, page_id: page.id)), method: "delete", confirm: "Are you sure of delete this image?", remote: true, class: "btn btn-link btn-xs" do
8
+ %i.fa.fa-pencil.text-muted
9
+ = link_to (widget.present? ? page_widget_asset_path(page_id: page.id, widget_id: widget.id, id: asset.id) : page_asset_path(id: asset.id, page_id: page.id)), method: "delete", confirm: t('confirmation.image'), remote: true, class: "btn btn-link btn-xs" do
10
10
  %i.fa.fa-trash-o.text-danger
@@ -4,6 +4,6 @@
4
4
  .caption.clearfix
5
5
  .pull-right
6
6
  = link_to edit_page_widget_asset_path(id: asset.id, widget_id: widget.id, page_id: page.id), remote: true, class: "btn btn-link btn-xs" do
7
- %i.fa.fa-cog.text-muted
8
- = link_to page_widget_asset_path(id: asset.id, widget_id: widget.id, page_id: page.id), method: "delete", confirm: "Are you sure of delete this slide?", remote: true, class: "btn btn-link btn-xs" do
7
+ %i.fa.fa-pencil.text-muted
8
+ = link_to page_widget_asset_path(id: asset.id, widget_id: widget.id, page_id: page.id), method: "delete", confirm: t('confirmation.slide'), remote: true, class: "btn btn-link btn-xs" do
9
9
  %i.fa.fa-trash-o.text-danger
@@ -1,11 +1,10 @@
1
- <% if asset.errors.size > 0 %>
1
+ <% if asset.changed? %>
2
2
  <% case asset.type.constantize.short_name %>
3
3
  <% when 'image' %>
4
4
  $("#quadro-modal .modal-content").html("<%= escape_javascript(render('quadro/assets/image/form', asset: asset, page: page)) %>");
5
5
  <% when 'slide' %>
6
6
  $("#quadro-modal .modal-content").html("<%= escape_javascript(render('quadro/assets/slide/form', asset: asset, widget: widget, page: page)) %>");
7
7
  <% end %>
8
- new Message('Asset not updated');
9
8
  <% else %>
10
9
  <% case asset.type.constantize.short_name %>
11
10
  <% when 'image' %>
@@ -14,5 +13,4 @@
14
13
  $('#slide-<%= asset.id %>').replaceWith('<%= escape_javascript(render("quadro/assets/slide/slide", asset: asset, widget: widget, page: page))%>');
15
14
  <% end %>
16
15
  $("#quadro-modal").modal('hide');
17
- new Message('Asset updated');
18
16
  <% end %>
@@ -30,10 +30,10 @@
30
30
  = form.input :published_at, as: :string, input_html: { class: 'form-control' }
31
31
  .row
32
32
  .col-md-4
33
- = form.input :template, collection: page.templates, input_html: { class: 'form-control' }
33
+ = form.input :template, collection: page.templates, input_html: { class: 'form-control' }, include_blank: false
34
34
  .col-md-4
35
- = form.input :frequency, collection: Quadro::Page::SITEMAP_FREQUENCY, input_html: { class: 'form-control' }
35
+ = form.input :frequency, collection: Quadro::Page::SITEMAP_FREQUENCY, input_html: { class: 'form-control' }, include_blank: false
36
36
  .col-md-4
37
- = form.input :priority, collection: Quadro::Page::SITEMAP_PRIORITY, input_html: { class: 'form-control' }
37
+ = form.input :priority, collection: Quadro::Page::SITEMAP_PRIORITY, input_html: { class: 'form-control' }, include_blank: false
38
38
  .text-right
39
39
  = form.submit class: 'btn btn-primary'
@@ -1,7 +1,5 @@
1
- <% if page.errors.size > 0 %>
2
- $("#quadro-modal .modal-body").html("<%= escape_javascript(render('quadro/pages/new', page: page)) %>");
3
- new Message('Page not created');
4
- <% else %>
1
+ <% if page.persisted? %>
5
2
  $("#quadro-modal").modal('hide');
6
- new Message('Page created');
3
+ <% else %>
4
+ $("#quadro-modal .modal-body").html("<%= escape_javascript(render('quadro/pages/new', page: page)) %>");
7
5
  <% end %>
@@ -1,5 +1,3 @@
1
1
  <% if page.destroyed? %>
2
- new Message('Page deleted');
3
2
  <% else %>
4
- new Message('Page not deleted');
5
3
  <% end %>
@@ -1,6 +1,4 @@
1
1
  <% if interaction.persisted? %>
2
- new Message('Message sent');
3
2
  $('form#<%= interaction.interactable.name %>')[0].reset();
4
3
  <% else %>
5
- new Message('Message not sent');
6
4
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <% if page.published? %>
2
- new Message('Page published');
2
+ $('#quadro-unpublish').removeClass('hidden');
3
+ $('#quadro-publish').addClass('hidden');
3
4
  <% else %>
4
- new Message('Page not published');
5
5
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <% if page.unpublished? %>
2
- new Message('Page unpublished');
2
+ $('#quadro-publish').removeClass('hidden');
3
+ $('#quadro-unpublish').addClass('hidden');
3
4
  <% else %>
4
- new Message('Page not unpublished');
5
5
  <% end %>
@@ -1,7 +1,5 @@
1
- <% if page.errors.size > 0 %>
1
+ <% if page.changed? %>
2
2
  $("#quadro-modal .modal-content").html("<%= escape_javascript(render('quadro/pages/edit', page: page)) %>");
3
- new Message('Page not updated');
4
3
  <% else %>
5
4
  $("#quadro-modal").modal('hide');
6
- new Message('Page updated');
7
5
  <% end %>
@@ -2,16 +2,15 @@
2
2
  .container
3
3
  .navbar-header
4
4
  %button.navbar-toggle.collapsed(data-target='#navigation' data-toggle='collapse' type='button')
5
- %span.sr-only Toggle navigation
6
5
  %span.icon-bar
7
6
  %span.icon-bar
8
7
  %span.icon-bar
9
8
  = link_to root_path, class: 'navbar-brand' do
10
9
  = Quadro.config.site
11
10
  #navigation.collapse.navbar-collapse
11
+ = navigation_for root, class: "nav navbar-nav navbar-right"
12
12
  - unless user_signed_in?
13
13
  %ul.nav.navbar-nav.navbar-right
14
14
  %li
15
15
  = link_to new_user_session_path, rel: "nofollow" do
16
- Sign In
17
- = navigation_for root, class: "nav navbar-nav navbar-right"
16
+ = t('navigation.sign_in')
@@ -8,51 +8,34 @@
8
8
  .pull-left
9
9
  = link_to root_path, class: "quadro-brand" do
10
10
  = image_tag 'quadro/quadro-logo-mini.png'
11
- = link_to new_page_path(parent_id: page.id), remote: true, class: "btn btn-default btn-sm hidden-xs" do
11
+ = link_to new_page_path(parent_id: page.id), remote: true, id: "quadro-new", class: "btn btn-default btn-sm" do
12
12
  %i.fa.fa-plus
13
- New sub page
14
- = link_to edit_page_path(page.slug), remote: true, class: "btn btn-default btn-sm hidden-xs" do
13
+ %span.hidden-xs.hidden-sm= t('toolbar.new')
14
+ = link_to edit_page_path(page.slug), remote: true, id: "quadro-edit", class: "btn btn-default btn-sm" do
15
15
  %i.fa.fa-pencil
16
- Edit
17
- = link_to page_path(page.slug), remote: true, method: "delete", confirm: "Are you sure of delete this page?", class: "btn btn-default btn-sm hidden-xs" do
18
- %i.fa.fa-trash-o
19
- Delete
16
+ %span.hidden-xs.hidden-sm= t('toolbar.edit')
17
+ = link_to page_path(page.slug), remote: true, method: "delete", confirm: t('confirmation.page'), id: "quadro-delete", class: "btn btn-default btn-sm" do
18
+ %i.fa.fa-trash-o.text-danger
19
+ %span.hidden-xs.hidden-sm.text-danger= t('toolbar.delete')
20
20
  - unless page.is_root?
21
- - if page.published?
22
- = link_to unpublish_page_path(page.slug), remote: true, class: "btn btn-default btn-sm hidden-xs" do
23
- %i.fa.fa-eye-slash
24
- Unpublish
25
- - else
26
- = link_to publish_page_path(page.slug), remote: true, class: "btn btn-default btn-sm hidden-xs" do
27
- %i.fa.fa-eye
28
- Publish
29
- .btn-group.visible-xs-inline-block(role='group')
30
- = link_to new_page_path(parent_id: page.id), remote: true, class: "btn btn-default btn-sm" do
31
- %i.fa.fa-plus
32
- = link_to edit_page_path(page.slug), remote: true, class: "btn btn-default btn-sm" do
33
- %i.fa.fa-pencil
34
- = link_to page_path(page.slug), remote: true, method: "delete", confirm: "Are you sure of delete this page?", class: "btn btn-default btn-sm" do
35
- %i.fa.fa-trash-o
36
- - unless page.is_root?
37
- - if page.published?
38
- = link_to unpublish_page_path(page.slug), remote: true, class: "btn btn-default btn-sm" do
39
- %i.fa.fa-eye-slash
40
- - else
41
- = link_to publish_page_path(page.slug), remote: true, class: "btn btn-default btn-sm" do
42
- %i.fa.fa-eye
21
+ = link_to unpublish_page_path(page.slug), remote: true, id: "quadro-unpublish", class: "btn btn-default btn-sm #{page.unpublished? ? 'hidden' : ''}" do
22
+ %i.fa.fa-eye-slash
23
+ %span.hidden-xs.hidden-sm= t('toolbar.unpublish')
24
+ = link_to publish_page_path(page.slug), remote: true, id: "quadro-publish", class: "btn btn-default btn-sm #{page.published? ? 'hidden' : ''}" do
25
+ %i.fa.fa-eye
26
+ %span.hidden-xs.hidden-sm= t('toolbar.publish')
43
27
  .pull-right
44
28
  %a#quadro-save.btn.btn-default.btn-sm.hide
45
29
  %i.fa.fa-floppy-o
46
- Save changes
30
+ %span.hidden-xs.hidden-sm= t('toolbar.save')
47
31
  %a#quadro-gallery-toggle.btn.btn-default.btn-sm.hidden-xs.hidden-sm
48
32
  %i.fa.fa-picture-o
49
- Image gallery
50
- %span.hidden-xs.hidden-sm Editor:
51
- .btn-group.hidden-xs.hidden-sm(role='group')
52
- %button#quadro-airmode-off.btn.btn-default.btn-sm(type='button')
53
- %i.fa.fa-toggle-on
54
- %button#quadro-airmode-on.btn.btn-default.btn-sm.active(type='button')
55
- %i.fa.fa-toggle-off
33
+ %span= t('toolbar.gallery')
34
+ %span.hidden-xs.hidden-sm= t('toolbar.editor')
35
+ %button#quadro-airmode-off.btn.btn-default.btn-sm.hidden-xs.hidden-sm(type='button')
36
+ %i.fa.fa-toggle-on
37
+ %button#quadro-airmode-on.btn.btn-default.btn-sm.hidden-xs.hidden-sm.hidden(type='button')
38
+ %i.fa.fa-toggle-off
56
39
  .btn-group.dropup.hidden-xs
57
40
  %button.btn.btn-default.btn-sm.dropdown-toggle(type='button' data-toggle='dropdown')
58
41
  = gravatar_image_tag(current_user.email, alt: current_user.email, title: current_user.email, gravatar: { size: 16 }, class: 'img-rounded')
@@ -63,14 +46,14 @@
63
46
  %li
64
47
  = link_to sitemap_notifier_path, remote: true do
65
48
  %i.fa.fa-sitemap
66
- Notify sitemap.xml
49
+ = t('toolbar.sitemap')
67
50
  %li
68
51
  = link_to edit_user_path, remote: true do
69
52
  %i.fa.fa-user
70
- Edit user
53
+ = t('toolbar.profile')
71
54
  %li
72
55
  = link_to destroy_user_session_path, method: :delete do
73
56
  %i.fa.fa-sign-out
74
- Sign Out
57
+ = t('toolbar.sign_out')
75
58
  = link_to destroy_user_session_url, method: :delete, class: "btn btn-default btn-sm visible-xs-inline-block hidden-sm" do
76
- Sign Out
59
+ = t('toolbar.sign_out')
@@ -5,5 +5,5 @@
5
5
  .media-body
6
6
  %h4.media-heading
7
7
  = link_to page.title, page_path(page)
8
- %small.text-muted= l(page.published_at, format: :short)
8
+ %small.text-muted= l(page.published_at, format: :short) unless page.unpublished?
9
9
  %p= page.summary
@@ -5,5 +5,5 @@
5
5
  .caption
6
6
  %h2
7
7
  = link_to page.title, page_path(page)
8
- %small.text-muted= l(page.published_at, format: :short)
8
+ %small.text-muted= l(page.published_at, format: :short) unless page.unpublished?
9
9
  %p= page.summary
@@ -1 +0,0 @@
1
- new Message('Sitemap notified');
@@ -1,7 +1,5 @@
1
- <% if user.errors.size > 0 %>
1
+ <% if user.changed? %>
2
2
  $("#quadro-modal .modal-content").html("<%= escape_javascript(render('quadro/users/edit', user: user)) %>");
3
- new Message('User not updated');
4
3
  <% else %>
5
4
  $("#quadro-modal").modal('hide');
6
- new Message('User updated');
7
5
  <% end %>
@@ -4,4 +4,4 @@
4
4
  .text-muted.text-uppercase Form
5
5
  .pull-right
6
6
  %button.btn.btn-link.btn-xs
7
- %i.fa.fa-cog.text-muted
7
+ %i.fa.fa-pencil.text-muted
@@ -4,4 +4,4 @@
4
4
  .text-muted.text-uppercase Gallery
5
5
  .pull-right
6
6
  %button.btn.btn-link.btn-xs
7
- %i.fa.fa-cog.text-muted
7
+ %i.fa.fa-pencil.text-muted
@@ -4,4 +4,4 @@
4
4
  .text-muted.text-uppercase Html
5
5
  .pull-right
6
6
  %button.btn.btn-link.btn-xs
7
- %i.fa.fa-cog.text-muted
7
+ %i.fa.fa-pencil.text-muted
@@ -4,4 +4,4 @@
4
4
  .text-muted.text-uppercase Map
5
5
  .pull-right
6
6
  %button.btn.btn-link.btn-xs
7
- %i.fa.fa-cog.text-muted
7
+ %i.fa.fa-pencil.text-muted
@@ -4,4 +4,4 @@
4
4
  .text-muted.text-uppercase Slider
5
5
  .pull-right
6
6
  %button.btn.btn-link.btn-xs
7
- %i.fa.fa-cog.text-muted
7
+ %i.fa.fa-pencil.text-muted
@@ -4,4 +4,4 @@
4
4
  .text-muted.text-uppercase Video
5
5
  .pull-right
6
6
  %button.btn.btn-link.btn-xs
7
- %i.fa.fa-cog.text-muted
7
+ %i.fa.fa-pencil.text-muted
@@ -1,6 +1,5 @@
1
- %p
2
- Hello #{@resource.email}!
3
- %p Someone has requested a link to change your password. You can do this through the link below.
4
- %p= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token)
5
- %p If you didn't request this, please ignore this email.
6
- %p Your password won't change until you access the link above and create a new one.
1
+ %p= t('devise.mailer.reset_password_instructions.greeting', recipient: @resource.email)
2
+ %p= t('devise.mailer.reset_password_instructions.instruction')
3
+ %p= link_to t('devise.mailer.reset_password_instructions.action'), edit_password_url(@resource, reset_password_token: @token)
4
+ %p= t('devise.mailer.reset_password_instructions.instruction_2')
5
+ %p= t('devise.mailer.reset_password_instructions.instruction_3')
@@ -1,5 +1,4 @@
1
- %p
2
- Hello #{@resource.email}!
3
- %p Your account has been locked due to an excessive number of unsuccessful sign in attempts.
4
- %p Click the link below to unlock your account:
5
- %p= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token)
1
+ %p= t('devise.mailer.unlock_instructions.greeting', recipient: @resource.email)
2
+ %p= t('devise.mailer.unlock_instructions.message')
3
+ %p= t('devise.mailer.unlock_instructions.instruction')
4
+ %p= link_to t('devise.mailer.unlock_instructions.action'), unlock_url(@resource, unlock_token: @token)