nocms-admin 0.0.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.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +339 -0
  3. data/README.md +4 -0
  4. data/Rakefile +21 -0
  5. data/app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.eot +0 -0
  6. data/app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.ttf +0 -0
  7. data/app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.woff +0 -0
  8. data/app/assets/images/no_cms/admin/NoCMS_logo.svg +29 -0
  9. data/app/assets/images/no_cms/admin/general-f471e1516770e9528f3dcf0a635516de.png +0 -0
  10. data/app/assets/images/no_cms/admin/ico-add.png +0 -0
  11. data/app/assets/images/no_cms/admin/ico-close.png +0 -0
  12. data/app/assets/images/no_cms/admin/ico-expand-dark.png +0 -0
  13. data/app/assets/images/no_cms/admin/ico-expand.png +0 -0
  14. data/app/assets/images/no_cms/admin/ico-filter.png +0 -0
  15. data/app/assets/images/no_cms/admin/ico-mini-delete.png +0 -0
  16. data/app/assets/images/no_cms/admin/ico-mini-move-down.png +0 -0
  17. data/app/assets/images/no_cms/admin/ico-mini-move-up.png +0 -0
  18. data/app/assets/images/no_cms/admin/ico-mini-show-hide.png +0 -0
  19. data/app/assets/images/no_cms/admin/ico-search-mini.png +0 -0
  20. data/app/assets/images/no_cms/admin/ico-search.png +0 -0
  21. data/app/assets/images/no_cms/admin/stripe_5d3ba7190e7de9a95d82d43dce2917b1.png +0 -0
  22. data/app/assets/javascripts/no_cms/admin/application.js +17 -0
  23. data/app/assets/javascripts/no_cms/admin/libraries/store.min.js +2 -0
  24. data/app/assets/javascripts/no_cms/admin/logger.js +48 -0
  25. data/app/assets/javascripts/no_cms/admin/no_cms_admin.js +2 -0
  26. data/app/assets/javascripts/no_cms/admin/ready.js +65 -0
  27. data/app/assets/stylesheets/no_cms/admin/application.css.scss +13 -0
  28. data/app/assets/stylesheets/no_cms/admin/no_cms.css.scss +1281 -0
  29. data/app/builders/no_cms/admin/form_builder.rb +18 -0
  30. data/app/controllers/no_cms/admin/application_controller.rb +12 -0
  31. data/app/controllers/no_cms/admin/dashboard_controller.rb +7 -0
  32. data/app/helpers/no_cms/admin/application_helper.rb +17 -0
  33. data/app/views/layouts/no_cms/admin/application.html.erb +77 -0
  34. data/app/views/no_cms/admin/dashboard/show.html.erb +0 -0
  35. data/app/views/no_cms/admin/shared/_console_log.html.erb +11 -0
  36. data/app/views/no_cms/admin/shared/_locales.html.erb +5 -0
  37. data/app/views/no_cms/admin/shared/_log_messages.html.erb +8 -0
  38. data/app/views/no_cms/admin/shared/_menu_item.html.erb +5 -0
  39. data/app/views/no_cms/admin/shared/_menu_items.html.erb +3 -0
  40. data/app/views/no_cms/admin/shared/_secondary_menu_toolbar.html.erb +32 -0
  41. data/app/views/no_cms/admin/shared/_toolbar.html.erb +15 -0
  42. data/config/locales/en.yml +11 -0
  43. data/config/routes.rb +3 -0
  44. data/lib/no_cms/admin/configuration.rb +10 -0
  45. data/lib/no_cms/admin/engine.rb +7 -0
  46. data/lib/no_cms/admin/logger.rb +48 -0
  47. data/lib/no_cms/admin/version.rb +5 -0
  48. data/lib/nocms_admin.rb +8 -0
  49. data/lib/tasks/admin_tasks.rake +4 -0
  50. metadata +145 -0
@@ -0,0 +1,18 @@
1
+ class NoCms::Admin::FormBuilder < ActionView::Helpers::FormBuilder
2
+
3
+ [:text_field, :text_area, :select].each do |helper|
4
+ define_method helper do |attribute, *args|
5
+ html = super attribute, *args
6
+ html += errors_field(attribute)
7
+ html
8
+ end
9
+ end
10
+
11
+ def errors_field(attribute)
12
+ error_messages = object.errors.full_messages_for(attribute)
13
+ return '' if error_messages.blank?
14
+ @template.content_tag('ul',
15
+ @template.raw(error_messages.map{|e| @template.content_tag('li', e)}.join),
16
+ class: 'error')
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ module NoCms
2
+ module Admin
3
+ class ApplicationController < ActionController::Base
4
+
5
+ before_filter :initialize_logger
6
+
7
+ def initialize_logger
8
+ @logger = NoCms::Admin::Logger.new request
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ module NoCms
2
+ module Admin
3
+ class DashboardController < ApplicationController
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ module NoCms
2
+ module Admin
3
+ module ApplicationHelper
4
+
5
+ def menu_item_url menu_item
6
+ menu_item[:url].is_a?(Proc) ?
7
+ menu_item[:url].call :
8
+ menu_item[:url]
9
+ end
10
+
11
+ def no_cms_admin_form_for(record, options = {}, &block)
12
+ form_for record, options.merge(builder: NoCms::Admin::FormBuilder), &block
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,77 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>NºCMS</title>
6
+ <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/sanitize.css/2.0.0/sanitize.css">
7
+
8
+ <%= stylesheet_link_tag "no_cms/admin/application", media: "all" %>
9
+ <%= yield :stylesheets %>
10
+
11
+ <%= csrf_meta_tags %>
12
+ </head>
13
+
14
+ <% second_menu = yield :second_menu %>
15
+
16
+ <body <%= raw 'class="col-1-only"' if second_menu.blank? %>>
17
+
18
+ <section id="content-area">
19
+ <%= yield %>
20
+ </section>
21
+
22
+
23
+ <section id="interface">
24
+ <header id="main-header">
25
+ <div class="logo">
26
+ <%= link_to image_tag("no_cms/admin/NoCMS_logo.svg", alt: "NoCMS Rules", width: "94px", height: "44px"), no_cms_admin.root_path, class: 'logo' %>
27
+ </div>
28
+ <a href="#" class="btn right ico-logout">LOGOUT</a>
29
+ </header>
30
+
31
+ <aside id="col-1">
32
+ <div class="tool-bar">
33
+ <%= render 'no_cms/admin/shared/locales' %>
34
+
35
+ </div>
36
+ <div class="content">
37
+ <%= render partial: 'no_cms/admin/shared/menu_item', collection: NoCms::Admin.menu_items, layout: 'no_cms/admin/shared/menu_items', as: :menu_item, locals: { current: @current_section } %>
38
+ </div>
39
+ </aside>
40
+
41
+ <% unless second_menu.blank? %>
42
+ <aside id="col-2">
43
+ <%= render 'no_cms/admin/shared/secondary_menu_toolbar' %>
44
+ <% pagination = yield :pagination %>
45
+ <% unless pagination.blank? %>
46
+ <div class="page-nav">
47
+ <p>
48
+ <%= pagination %>
49
+ </p>
50
+ </div>
51
+ <% end %>
52
+ <div class="content">
53
+ <%= second_menu %>
54
+ </div>
55
+ </aside>
56
+ <% end %>
57
+ </section>
58
+
59
+
60
+ <%= render 'no_cms/admin/shared/console_log' %>
61
+
62
+
63
+
64
+ <div id="mini-options"> ^ v x o </div>
65
+
66
+
67
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
68
+ <%= javascript_include_tag "no_cms/admin/application" %>
69
+ <%= yield :js %>
70
+ <script type="text/javascript">
71
+ $(function(){
72
+ <%= yield :ready_js %>
73
+ });
74
+ </script>
75
+
76
+ </body>
77
+ </html>
File without changes
@@ -0,0 +1,11 @@
1
+ <section id="log-bar">
2
+ <span id="js-clear-log" title="<%= t('.clear_title')%>"><%= t('.clear')%></span>
3
+ </section>
4
+ <% content_for :ready_js do %>
5
+ var logger = new NoCMS.Admin.Logger();
6
+ <% @logger.messages.each do |type, messages| %>
7
+ <% messages.each do |message| %>
8
+ logger.addMessage(<%= raw type.to_json %>, <%= raw message.to_json %>)
9
+ <% end %>
10
+ <% end %>
11
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <div class="lang">
2
+ <% I18n.available_locales.each do |l| %>
3
+ <%= link_to l.to_s.upcase, url_for(request.params.merge(locale: l)), class: (l == I18n.locale ? 'current' : nil) %>
4
+ <% end %>
5
+ </div>
@@ -0,0 +1,8 @@
1
+ <% types ||= [:info, :warning, :error] %>
2
+ <% @logger.messages(types).each do |type, messages| %>
3
+ <% messages.each do |message| %>
4
+ <div class="row msg <%= type %>">
5
+ <%= message %>
6
+ </div>
7
+ <% end %>
8
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <% current ||= nil %>
2
+ <li <%= raw 'class="current"' if current == menu_item[:name] %>>
3
+ <%= link_to I18n.t("no_cms.admin.menu_items.#{menu_item[:name]}"), menu_item_url(menu_item) %>
4
+ <%= render partial: 'no_cms/admin/shared/menu_item', collection: menu_item[:children], layout: 'no_cms/admin/shared/menu_items', as: :menu_item, locals: { current: current } unless menu_item[:children].blank? %>
5
+ </li>
@@ -0,0 +1,3 @@
1
+ <ul>
2
+ <%= yield %>
3
+ </ul>
@@ -0,0 +1,32 @@
1
+ <% filter = begin
2
+ render 'filter'
3
+ rescue ActionView::MissingTemplate
4
+ ''
5
+ end %>
6
+
7
+ <% search = begin
8
+ render 'search'
9
+ rescue ActionView::MissingTemplate
10
+ ''
11
+ end %>
12
+
13
+ <div class="tool-bar">
14
+ <a href="#" id="js-expand-col-2" class="btn-square ico-expand" title="Expand page listing"></a>
15
+ <a href="#" id="js-collapse-to-minimun" class="btn-square ico-close" title="Close page listing"></a>
16
+ <%= link_to '', '#', id: "js-filter", class: "btn-square ico-filter", title: I18n.t('.filter') unless filter.blank? %>
17
+ <%= link_to '', '#', id: "js-search", class: "btn-square ico-search", title: I18n.t('.search') unless search.blank? %>
18
+ <%= link_to '', url_for(action: :new), title: t('.new'), class: 'btn-square right ico-add accent', id: 'js-add-new' %>
19
+ </div>
20
+
21
+ <% unless search.blank? %>
22
+ <div class="search-bar">
23
+ <%= search %>
24
+ </div>
25
+ <% end %>
26
+
27
+ <% unless filter.blank? %>
28
+ <div class="filter-bar">
29
+ <%= filter %>
30
+ </div>
31
+ <% end %>
32
+
@@ -0,0 +1,15 @@
1
+ <% f ||= nil %>
2
+ <div class="tool-bar">
3
+ <%= begin
4
+ render 'toolbar_left', f: f
5
+ rescue ActionView::MissingTemplate
6
+ ''
7
+ end %>
8
+ <a href="#" id="js-go-full-screen" class="btn-square ico-expand-dark"></a>
9
+ <%= render 'no_cms/admin/shared/locales' %>
10
+ <%= begin
11
+ render 'toolbar_right', f: f
12
+ rescue ActionView::MissingTemplate
13
+ ''
14
+ end %>
15
+ </div>
@@ -0,0 +1,11 @@
1
+ en:
2
+ no_cms:
3
+ admin:
4
+ shared:
5
+ console_log:
6
+ clear: Clear
7
+ clear_title: Clear log
8
+ secondary_menu_toolbar:
9
+ filter: Filter
10
+ new: New
11
+ search: Search
data/config/routes.rb ADDED
@@ -0,0 +1,3 @@
1
+ NoCms::Admin::Engine.routes.draw do
2
+ root to: 'dashboard#show'
3
+ end
@@ -0,0 +1,10 @@
1
+ module NoCms
2
+ module Admin
3
+ include ActiveSupport::Configurable
4
+
5
+ config_accessor :menu_items
6
+
7
+ self.menu_items = []
8
+
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ module NoCms
2
+ module Admin
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace NoCms::Admin
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,48 @@
1
+ module NoCms
2
+ module Admin
3
+ class Logger
4
+
5
+ # We will need the request if we want to save the messages in flash
6
+ def initialize request
7
+ @request = request
8
+ request.session[:no_cms_admin_logger] ||= {}
9
+ @messages = request.session[:no_cms_admin_logger]
10
+ request.session[:no_cms_admin_logger] = {}
11
+ end
12
+
13
+ def messages_container later=false
14
+ later ? @request.session[:no_cms_admin_logger] : @messages
15
+ end
16
+
17
+ def info message, later=false
18
+ add_message :info, message, later
19
+ end
20
+
21
+ def warning message, later=false
22
+ add_message :warning, message, later
23
+ end
24
+
25
+ def error message, later=false
26
+ add_message :error, message, later
27
+ end
28
+
29
+ def add_message type, message, later=false
30
+ container = messages_container later
31
+ if later
32
+ @request.session[:no_cms_admin_logger][type] ||= []
33
+ @request.session[:no_cms_admin_logger][type] << message
34
+ else
35
+ @messages[type] ||= []
36
+ @messages[type] << message
37
+ end
38
+ end
39
+
40
+ def messages types = []
41
+ types.blank? ?
42
+ @messages :
43
+ @messages.select { |type, _| types.include? type }
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,5 @@
1
+ module NoCms
2
+ module Admin
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ require "no_cms/admin/engine"
2
+ require "no_cms/admin/configuration"
3
+ require "no_cms/admin/logger"
4
+
5
+ module NoCms
6
+ module Admin
7
+ end
8
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :admin do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nocms-admin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Simplelogica
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-03-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.0.3
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '4.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.0.3
33
+ - !ruby/object:Gem::Dependency
34
+ name: sass-rails
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '4.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 4.0.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '4.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 4.0.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: sqlite3
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ description: Common layout and functionalities for NoCMS custom admins
68
+ email:
69
+ - gems@simplelogica.net
70
+ executables: []
71
+ extensions: []
72
+ extra_rdoc_files: []
73
+ files:
74
+ - LICENSE
75
+ - README.md
76
+ - Rakefile
77
+ - app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.eot
78
+ - app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.ttf
79
+ - app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.woff
80
+ - app/assets/images/no_cms/admin/NoCMS_logo.svg
81
+ - app/assets/images/no_cms/admin/general-f471e1516770e9528f3dcf0a635516de.png
82
+ - app/assets/images/no_cms/admin/ico-add.png
83
+ - app/assets/images/no_cms/admin/ico-close.png
84
+ - app/assets/images/no_cms/admin/ico-expand-dark.png
85
+ - app/assets/images/no_cms/admin/ico-expand.png
86
+ - app/assets/images/no_cms/admin/ico-filter.png
87
+ - app/assets/images/no_cms/admin/ico-mini-delete.png
88
+ - app/assets/images/no_cms/admin/ico-mini-move-down.png
89
+ - app/assets/images/no_cms/admin/ico-mini-move-up.png
90
+ - app/assets/images/no_cms/admin/ico-mini-show-hide.png
91
+ - app/assets/images/no_cms/admin/ico-search-mini.png
92
+ - app/assets/images/no_cms/admin/ico-search.png
93
+ - app/assets/images/no_cms/admin/stripe_5d3ba7190e7de9a95d82d43dce2917b1.png
94
+ - app/assets/javascripts/no_cms/admin/application.js
95
+ - app/assets/javascripts/no_cms/admin/libraries/store.min.js
96
+ - app/assets/javascripts/no_cms/admin/logger.js
97
+ - app/assets/javascripts/no_cms/admin/no_cms_admin.js
98
+ - app/assets/javascripts/no_cms/admin/ready.js
99
+ - app/assets/stylesheets/no_cms/admin/application.css.scss
100
+ - app/assets/stylesheets/no_cms/admin/no_cms.css.scss
101
+ - app/builders/no_cms/admin/form_builder.rb
102
+ - app/controllers/no_cms/admin/application_controller.rb
103
+ - app/controllers/no_cms/admin/dashboard_controller.rb
104
+ - app/helpers/no_cms/admin/application_helper.rb
105
+ - app/views/layouts/no_cms/admin/application.html.erb
106
+ - app/views/no_cms/admin/dashboard/show.html.erb
107
+ - app/views/no_cms/admin/shared/_console_log.html.erb
108
+ - app/views/no_cms/admin/shared/_locales.html.erb
109
+ - app/views/no_cms/admin/shared/_log_messages.html.erb
110
+ - app/views/no_cms/admin/shared/_menu_item.html.erb
111
+ - app/views/no_cms/admin/shared/_menu_items.html.erb
112
+ - app/views/no_cms/admin/shared/_secondary_menu_toolbar.html.erb
113
+ - app/views/no_cms/admin/shared/_toolbar.html.erb
114
+ - config/locales/en.yml
115
+ - config/routes.rb
116
+ - lib/no_cms/admin/configuration.rb
117
+ - lib/no_cms/admin/engine.rb
118
+ - lib/no_cms/admin/logger.rb
119
+ - lib/no_cms/admin/version.rb
120
+ - lib/nocms_admin.rb
121
+ - lib/tasks/admin_tasks.rake
122
+ homepage: https://github.com/simplelogica/nocms-admin
123
+ licenses: []
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubyforge_project:
141
+ rubygems_version: 2.2.2
142
+ signing_key:
143
+ specification_version: 4
144
+ summary: Common layout and functionalities for NoCMS custom admins.
145
+ test_files: []