etabliocms_core 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 (91) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +38 -0
  4. data/app/assets/images/admin/background-heading.png +0 -0
  5. data/app/assets/images/admin/background-main.gif +0 -0
  6. data/app/assets/images/admin/background-sidebar-bottom.png +0 -0
  7. data/app/assets/images/admin/background-sidebar-item.png +0 -0
  8. data/app/assets/images/admin/background-sidebar-top.png +0 -0
  9. data/app/assets/images/admin/background-sidebar.png +0 -0
  10. data/app/assets/images/admin/background-th.png +0 -0
  11. data/app/assets/images/admin/background.gif +0 -0
  12. data/app/assets/images/admin/bullet.gif +0 -0
  13. data/app/assets/images/admin/icon-close.png +0 -0
  14. data/app/assets/images/admin/line-heading.gif +0 -0
  15. data/app/assets/images/admin/line-heading.png +0 -0
  16. data/app/assets/images/admin/lock.gif +0 -0
  17. data/app/assets/images/admin/news.png +0 -0
  18. data/app/assets/images/admin/sidebar-users.png +0 -0
  19. data/app/assets/images/icons/arrow_refresh.png +0 -0
  20. data/app/assets/images/icons/icon-add-email.gif +0 -0
  21. data/app/assets/images/icons/icon-add-heading.gif +0 -0
  22. data/app/assets/images/icons/icon-add-image.gif +0 -0
  23. data/app/assets/images/icons/icon-add-news.gif +0 -0
  24. data/app/assets/images/icons/icon-add-text.gif +0 -0
  25. data/app/assets/images/icons/icon-add-video.gif +0 -0
  26. data/app/assets/images/icons/icon-add.gif +0 -0
  27. data/app/assets/images/icons/icon-backward.gif +0 -0
  28. data/app/assets/images/icons/icon-board.gif +0 -0
  29. data/app/assets/images/icons/icon-cart.gif +0 -0
  30. data/app/assets/images/icons/icon-comments.gif +0 -0
  31. data/app/assets/images/icons/icon-delete.gif +0 -0
  32. data/app/assets/images/icons/icon-down-dark.gif +0 -0
  33. data/app/assets/images/icons/icon-down-down.gif +0 -0
  34. data/app/assets/images/icons/icon-down.gif +0 -0
  35. data/app/assets/images/icons/icon-edit.gif +0 -0
  36. data/app/assets/images/icons/icon-information.gif +0 -0
  37. data/app/assets/images/icons/icon-news.gif +0 -0
  38. data/app/assets/images/icons/icon-pack.gif +0 -0
  39. data/app/assets/images/icons/icon-pages.gif +0 -0
  40. data/app/assets/images/icons/icon-pause.gif +0 -0
  41. data/app/assets/images/icons/icon-pdf.gif +0 -0
  42. data/app/assets/images/icons/icon-play.gif +0 -0
  43. data/app/assets/images/icons/icon-print.gif +0 -0
  44. data/app/assets/images/icons/icon-refresh.gif +0 -0
  45. data/app/assets/images/icons/icon-sound.png +0 -0
  46. data/app/assets/images/icons/icon-stop.gif +0 -0
  47. data/app/assets/images/icons/icon-unpack.gif +0 -0
  48. data/app/assets/images/icons/icon-up-dark.gif +0 -0
  49. data/app/assets/images/icons/icon-up-up.gif +0 -0
  50. data/app/assets/images/icons/icon-up.gif +0 -0
  51. data/app/assets/images/icons/newspaper_add.png +0 -0
  52. data/app/assets/images/icons/printer.png +0 -0
  53. data/app/assets/javascripts/admin-core.js +6 -0
  54. data/app/assets/javascripts/admin.js +11 -0
  55. data/app/assets/javascripts/shared.js +12 -0
  56. data/app/assets/stylesheets/admin-core.css +13 -0
  57. data/app/assets/stylesheets/admin.css.scss +190 -0
  58. data/app/assets/stylesheets/shared.css.scss +28 -0
  59. data/app/controllers/etabliocms_core/admin/base_controller.rb +13 -0
  60. data/app/controllers/etabliocms_core/admin/static_controller.rb +14 -0
  61. data/app/controllers/etabliocms_core/admin/users_controller.rb +49 -0
  62. data/app/controllers/etabliocms_core/application_controller_extension.rb +29 -0
  63. data/app/helpers/etabliocms_core/admin/table_tree_helper.rb +90 -0
  64. data/app/helpers/etabliocms_core/application_helper.rb +52 -0
  65. data/app/helpers/etabliocms_core/output_helper.rb +33 -0
  66. data/app/helpers/etabliocms_core/pages_helper.rb +33 -0
  67. data/app/models/etabliocms_core/user.rb +9 -0
  68. data/app/views/etabliocms_core/admin/static/index.html.erb +3 -0
  69. data/app/views/etabliocms_core/admin/static/textile.html.erb +250 -0
  70. data/app/views/etabliocms_core/admin/users/_form.html.erb +25 -0
  71. data/app/views/etabliocms_core/admin/users/edit.html.erb +7 -0
  72. data/app/views/etabliocms_core/admin/users/index.html.erb +35 -0
  73. data/app/views/etabliocms_core/admin/users/new.html.erb +7 -0
  74. data/app/views/layouts/_errors.html.erb +10 -0
  75. data/app/views/layouts/_flashes.html.erb +11 -0
  76. data/app/views/layouts/_footer.html.erb +39 -0
  77. data/app/views/layouts/_sidebar_core.html.erb +5 -0
  78. data/app/views/layouts/admin.html.erb +72 -0
  79. data/app/views/layouts/email.html.erb +93 -0
  80. data/config/initializers/configatron.rb +1 -0
  81. data/config/initializers/devise.rb +223 -0
  82. data/config/locales/core.cs.yml +48 -0
  83. data/config/locales/cs.rb +229 -0
  84. data/config/locales/devise.cs.yml +55 -0
  85. data/config/routes.rb +14 -0
  86. data/db/migrate/20120222142355_create_users.etabliocms_core_engine.rb +26 -0
  87. data/lib/etabliocms_core/engine.rb +29 -0
  88. data/lib/etabliocms_core/version.rb +3 -0
  89. data/lib/etabliocms_core.rb +14 -0
  90. data/lib/form_helper.rb +40 -0
  91. metadata +190 -0
@@ -0,0 +1,52 @@
1
+ require 'ostruct'
2
+
3
+ module EtabliocmsCore
4
+
5
+ module ApplicationHelper
6
+
7
+ include OutputHelper
8
+ include PagesHelper
9
+
10
+ def add_breadcrumb(title, url = nil)
11
+ @breadcrumbs << OpenStruct.new(:title => title, :url => url)
12
+ end
13
+
14
+ def set_title_and_breadcrumb(title, breadcrumb_text = nil, url = nil)
15
+ set_title title
16
+ breadcrumb_text ||= title
17
+ add_breadcrumb breadcrumb_text, url
18
+ end
19
+
20
+ def set_title(page_title)
21
+ content_for(:title) { page_title }
22
+ end
23
+
24
+ def set_description(page_description)
25
+ content_for(:description) { page_description }
26
+ end
27
+
28
+ def body_class
29
+ qualified_controller_name = controller.controller_path.gsub('/', '-')
30
+ "#{qualified_controller_name} #{qualified_controller_name}-#{controller.action_name}"
31
+ end
32
+
33
+ def render_sidebar?
34
+ return false if params[:action] == 'index' && params[:controller] == 'pages'
35
+ return false if params[:action] == 'search' && params[:controller] == 'pages'
36
+ return false if params[:controller] == 'devise/sessions'
37
+ true
38
+ end
39
+
40
+ def other_locale
41
+ case I18n.locale.to_s
42
+ when 'cs'
43
+ 'en'
44
+ when 'en'
45
+ 'cs'
46
+ else
47
+ 'cs'
48
+ end
49
+ end
50
+
51
+ end
52
+ end
@@ -0,0 +1,33 @@
1
+ module EtabliocmsCore::OutputHelper
2
+
3
+ def html_out(obj, method = "text", options = {})
4
+ return "" if obj.nil?
5
+ string = obj.send(method)
6
+ string = RedCloth.new(string.to_s)
7
+ string = string.to_html(:textile, :tags)
8
+ string = truncate_and_strip_tags(string, options[:words].to_i) if options[:words]
9
+ string = string.gsub(/\\|"/) { |c| "\\#{c}" } if options[:escape_double_quote]
10
+ string.html_safe
11
+ end
12
+
13
+ def sanitized(string)
14
+ simple_format(auto_link(h(string)))
15
+ end
16
+
17
+ def truncate_words(text, wordcount = 30, separator = "&hellip;")
18
+ text.to_s.split[0..(wordcount-1)].join(" ") +(text.to_s.split.size > wordcount ? separator : "")
19
+ end
20
+
21
+ def truncate_and_strip_tags(text, wordcount = 30, separator = "&hellip;")
22
+ truncate_words(strip_tags(text.to_s), wordcount, separator)
23
+ end
24
+
25
+ def truncate_and_strip_tags_from_textile(textile, wordcount = 30, separator = "&hellip;")
26
+ truncate_words(strip_tags(RedCloth.new(textile.to_s).to_html), wordcount, separator)
27
+ end
28
+
29
+ def w3c_date(date)
30
+ date.utc.strftime("%Y-%m-%dT%H:%M:%S+00:00")
31
+ end
32
+
33
+ end
@@ -0,0 +1,33 @@
1
+ module EtabliocmsCore::PagesHelper
2
+
3
+ def render_tree(nodes = [])
4
+ html = ""
5
+ nodes.select { |node| node.visible }.each do |node|
6
+ html << "<li class='#{'no-divider' if node == nodes.last && node.level == 0 }'>"
7
+ html << page_link(node)
8
+ html << render_tree(node.children) if node.children.present? && actual?(node)
9
+ html << "</li>"
10
+ end
11
+ content_tag(:ul, html.html_safe)
12
+ end
13
+
14
+ def page_link(node)
15
+ link_to(node.title, node.url.present? ? node.url : page_path(node),
16
+ :class => node_class(node),
17
+ :style => "padding-left: #{node.level*10 + 15}px").html_safe
18
+ end
19
+
20
+ def actual?(node)
21
+ if node.url.present?
22
+ (node.url =~ /zeptejte-se/ && params[:controller] == 'questions') || false
23
+ else
24
+ @page.present? ? @page.self_and_ancestors.include?(node) : false
25
+ end
26
+
27
+ end
28
+
29
+ def node_class(node)
30
+ actual?(node) ? 'active' : 'inactive'
31
+ end
32
+
33
+ end
@@ -0,0 +1,9 @@
1
+ module EtabliocmsCore
2
+ class User < ActiveRecord::Base
3
+
4
+ devise :database_authenticatable, :recoverable, :rememberable, :validatable, :trackable
5
+
6
+ attr_accessible :email, :password, :password_confirmation, :remember_me
7
+
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ <% set_title_and_breadcrumb "Hlavní stránka administrace" %>
2
+
3
+ <h1>Vítejte v administraci</h1>
@@ -0,0 +1,250 @@
1
+ <% set_title_and_breadcrumb "Nápověda k syntaxi Textile" %>
2
+
3
+ <h1>Textile</h1>
4
+ <p>Textile je značkovací jazyk, umožňující zapisovat HTML v textové formě, bez HTML značek.</p>
5
+
6
+ <table id="textile-help">
7
+ <thead>
8
+ <tr class="dark-row">
9
+ <th>Objekt</th>
10
+ <th>Jak se zapisuje</th>
11
+ <th>Jak vypadá</th>
12
+ </tr>
13
+ </thead>
14
+ <tbody>
15
+ <tr>
16
+ <th>Nadpis</th>
17
+ <td>h2. Nadpis</td>
18
+ <td><%= textilize("h2. Nadpis") %></td>
19
+ </tr>
20
+ <tr>
21
+ <th>Menší nadpis</th>
22
+ <td>h3. Nadpis</td>
23
+ <td><%= textilize("h3. Menší nadpis") %></td>
24
+ </tr>
25
+ <tr>
26
+ <th>Bloková citace</th>
27
+ <td>bq. <%= Lorem::Base.new('words', 19).output %></td>
28
+ <td><%= textilize("bq. #{Lorem::Base.new('words', 19).output}") %></td>
29
+ </tr>
30
+ <tr>
31
+ <th>Kurzíva</th>
32
+ <td>Lorem _ipsum dolor_ sit amet.</td>
33
+ <td><%= textilize("Lorem _ipsum dolor_ sit amet.") %></td>
34
+ </tr>
35
+ <tr>
36
+ <th>Tučné</th>
37
+ <td>Lorem *ipsum dolor* sit amet.</td>
38
+ <td><%= textilize("Lorem *ipsum dolor* sit amet.") %></td>
39
+ </tr>
40
+ <tr>
41
+ <th>Řádková citace</th>
42
+ <td>Lorem ??ipsum dolor?? sit amet.</td>
43
+ <td><%= textilize("Lorem ??ipsum dolor?? sit amet.") %></td>
44
+ </tr>
45
+ <tr>
46
+ <th>Horní index</th>
47
+ <td>Lorem ^ipsum^ dolor sit amet.</td>
48
+ <td><%= textilize("Lorem ^ipsum^ dolor sit amet.") %></td>
49
+ </tr>
50
+ <tr>
51
+ <th>Dolní index</th>
52
+ <td>Lorem ~ipsum~ dolor sit amet.</td>
53
+ <td><%= textilize("Lorem ~ipsum~ dolor sit amet.") %></td>
54
+ </tr>
55
+ <tr>
56
+ <th>Položka číselného seznamu</th>
57
+ <td># Lorem ipsum dolor sit amet.</td>
58
+ <td><%= textilize("# Lorem ipsum dolor sit amet.") %></td>
59
+ </tr>
60
+ <tr>
61
+ <th>Položka odrážkového seznamu</th>
62
+ <td>* Lorem ipsum dolor sit amet.</td>
63
+ <td><%= textilize("* Lorem ipsum dolor sit amet.") %></td>
64
+ </tr>
65
+ <tr>
66
+ <th>Odkaz</th>
67
+ <td>"Text odkazu":http://www.seznam.cz</td>
68
+ <td><%= textilize("\"Text odkazu\":http://www.seznam.cz") %></td>
69
+ </tr>
70
+ <tr>
71
+ <th>Odkaz v textu</th>
72
+ <td>Lorem "ipsum dolor":http://www.seznam.cz sit amet.</td>
73
+ <td><%= textilize("Lorem \"ipsum dolor\":http://www.seznam.cz sit amet.") %></td>
74
+ </tr>
75
+ <tr>
76
+ <th>Odkaz v textu s&nbsp;bublinkou</th>
77
+ <td>Lorem "ipsum dolor"(Text bublinky):http://www.seznam.cz sit amet.</td>
78
+ <td><%= textilize("Lorem \"ipsum dolor(Text bublinky)\":http://www.seznam.cz sit amet.") %></td>
79
+ </tr>
80
+ <tr>
81
+ <th>Obrázek s&nbsp;popiskem</th>
82
+ <td>!<%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>(Popisek obrázku)!</td>
83
+ <td><%= textilize("!/images/mystic/box-heading-background.png(Popisek obrázku)!") %></td>
84
+ </tr>
85
+ <tr>
86
+ <th>Obrázek s&nbsp;popiskem a&nbsp;odkazem</th>
87
+ <td>!<%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>(Popisek
88
+ obrázku)!:http://www.seznam.cz
89
+ </td>
90
+ <td><%= textilize("!/images/mystic/box-heading-background.png(Popisek obrázku)!:http://www.seznam.cz") %></td>
91
+ </tr>
92
+
93
+ <tr>
94
+ <th>Obrázek v textu s&nbsp;popiskem zarovnaný na střed</th>
95
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <br/>
96
+ !(image-center)<%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>(Popisek obrázku)!<br/>
97
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
98
+ </td>
99
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <%= textilize("!(image-center)/images/mystic/box-heading-background.png(Popisek obrázku)!
100
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ") %></td>
101
+ </tr>
102
+ <tr>
103
+ <th>Obrázek v textu s&nbsp;popiskem plovoucí vlevo</th>
104
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <br/>
105
+ !(image-left)<%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>(Popisek obrázku)!<br/>
106
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
107
+ elit.
108
+ </td>
109
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing
110
+ elit. <%= textilize("!(image-left)/images/mystic/box-heading-background.png(Popisek obrázku)! Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.") %></td>
111
+ </tr>
112
+ <tr>
113
+ <th>Obrázek v textu s&nbsp;popiskem plovoucí vpravo</th>
114
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <br/>
115
+ !(image-right)<%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>(Popisek obrázku)!<br/>
116
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
117
+ elit.
118
+ </td>
119
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing
120
+ elit. <%= textilize("!(image-right)/images/mystic/box-heading-background.png(Popisek obrázku)! Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.") %></td>
121
+ </tr>
122
+ <tr>
123
+ <th>Obrázek s lightboxem</th>
124
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <br/><br/>
125
+ fig. <%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>
126
+ | <%= "http://#{configatron.host}/images/mystic/logo.png" %> | Popisek obrázku <br/> <br/>
127
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
128
+ elit.
129
+ </td>
130
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing
131
+ elit. <%= textilize("fig. /images/mystic/box-heading-background.png | /images/mystic/logo.png | Popisek obrázku") %>
132
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
133
+ elit.
134
+ </td>
135
+ </tr>
136
+
137
+ <tr>
138
+ <th>Ikonka</th>
139
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <br/><br/>
140
+ icon. <%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>
141
+ | http://www.seznam.cz | Popisek ikonky <br/> <br/>
142
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
143
+ elit.
144
+ </td>
145
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing
146
+ elit. <%= textilize("icon. /images/mystic/box-heading-background.png | http://www.seznam.cz | Popisek ikonky") %>
147
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
148
+ elit.
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <th>Ikonka se zalamovací čárou</th>
153
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <br/><br/>
154
+ icon. <%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>
155
+ | http://www.seznam.cz | Popisek ikonky <br/>
156
+ cleaner. <br/>
157
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
158
+ elit.
159
+ </td>
160
+ <td>Lorem ipsum dolor sit amet, consectetuer adipiscing
161
+ elit. <%= textilize("icon. /images/mystic/box-heading-background.png | http://www.seznam.cz | Popisek ikonky ") %>
162
+ <hr class="cleaner" />
163
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
164
+ elit.
165
+ </td>
166
+ </tr>
167
+ <tr>
168
+ <th>Google mapa</th>
169
+ <td><strong>Formát:</strong><br/><br/>
170
+ gmap. latitude | longitude | zoom | Popisek k mapě
171
+ <td><strong>Příklad:</strong><br/><br/>
172
+ gmap. 50.045542 | 14.446846 | 10 | Adresa v Praze
173
+ </td>
174
+ </tr>
175
+ <tr>
176
+ <th>Youtube video</th>
177
+ <td><strong>Formát:</strong><br/><br/>
178
+ youtube. kód | šířka | výška | Popisek videa
179
+ <td><strong>Příklad:</strong><br/><br/>
180
+ youtube. QKPwuJyC-4E | 300 | 210| Stacie Monroe
181
+ </td>
182
+ </tr>
183
+ <tr>
184
+ <th>Flash</th>
185
+ <td><strong>Formát:</strong><br/><br/>
186
+ flash. url | šířka | výška
187
+ <td><strong>Příklad:</strong><br/><br/>
188
+ flash. http://www.seznam.cz/flash.swf | 300 | 210
189
+ </td>
190
+ </tr>
191
+ <tr>
192
+ <th>Zarovnání odstavce do bloku</th>
193
+ <td>p(justify). Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</td>
194
+ <td><%= textilize("p(justify). Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.") %></td>
195
+ </tr>
196
+ <tr>
197
+ <th>Zarovnání odstavce napravo</th>
198
+ <td>p(right). Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</td>
199
+ <td><%= textilize("p(right). Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.") %></td>
200
+ </tr>
201
+ <tr>
202
+ <th>Komplexní příklad</th>
203
+ <td>h2. Lorem ipsum<br/>
204
+ Lorem ipsum dolor sit amet, *"consectetuer":http://www.seznam.cz* adipiscing elit. Lorem ipsum dolor sit amet,
205
+ consectetuer adipiscing elit. <br/>
206
+ * Lorem<br/>
207
+ * Ipsum<br/>
208
+ ** Lorem ipsum<br/>
209
+ ** Dolor sit amet<br/>
210
+ * dolor sit amet<br/>
211
+ !(image-center)<%= "http://#{configatron.host}/images/mystic/box-heading-background.png" %>(Popisek
212
+ obrázku)!:http://www.seznam.cz<br/>
213
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing
214
+ elit.
215
+ </td>
216
+ <td><%= textilize("h2. Lorem ipsum
217
+
218
+ Lorem ipsum dolor sit amet, *\"consectetuer\":http://www.seznam.cz* adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
219
+ * Lorem
220
+ * Ipsum
221
+ ** Lorem ipsum
222
+ ** Dolor sit amet
223
+ * dolor sit amet
224
+ !(image-center)/images/mystic/box-heading-background.png(Popisek obrázku)!:http://www.seznam.cz
225
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.") %></td>
226
+ </tr>
227
+
228
+
229
+ </tbody>
230
+
231
+ </table>
232
+
233
+
234
+ <p>Podrobnější informace naleznete například na oficiálních
235
+ stránkách <%= link_to "Textile", "http://www.textism.com/tools/textile/" %>.</p>
236
+
237
+ <% content_for :javascript do %>
238
+ <%= javascript_include_tag "jquery.colorbox-min" %>
239
+
240
+ <script type="text/javascript">
241
+ var opts = {
242
+ current: "{current} z {total}",
243
+ previous: "předchozí",
244
+ next: "další",
245
+ close: "zavřít"
246
+ };
247
+ $("a[rel=text-gallery]").colorbox(opts);
248
+ </script>
249
+ <% end %>
250
+
@@ -0,0 +1,25 @@
1
+ <%= render "layouts/errors", :target => @user %>
2
+
3
+ <fieldset>
4
+ <legend><%= t('etabliocms_core_user.admin_legend') %></legend>
5
+
6
+ <p>
7
+ <%= f.label :email %>
8
+ <%= f.text_field :email, :class => 'text-field' %>
9
+ </p>
10
+
11
+ <p>
12
+ <%= f.label :password %>
13
+ <%= f.password_field :password, :class => 'text-field' %>
14
+ </p>
15
+
16
+ <p>
17
+ <%= f.label :password_confirmation %>
18
+ <%= f.password_field :password_confirmation, :class => 'text-field' %>
19
+ </p>
20
+
21
+ <p>
22
+ <%= submit_tag t('admin.save'), :class => 'submit' %>
23
+ </p>
24
+
25
+ </fieldset>
@@ -0,0 +1,7 @@
1
+ <% set_title_and_breadcrumb t('etabliocms_core_user.edit', :title => @user.email) %>
2
+
3
+ <h1><%= @user.email %></h1>
4
+
5
+ <%= form_for @user, :url => admin_user_path(@user.id), :html => {:method => :put, :id => "admin-form"} do |f| -%>
6
+ <%= render :partial => 'form', :locals => { :f => f } %>
7
+ <% end %>
@@ -0,0 +1,35 @@
1
+ <% set_title_and_breadcrumb t('etabliocms_core_user.users') %>
2
+
3
+ <h1><%= t('etabliocms_core_user.users') %></h1>
4
+
5
+ <div class="strap">
6
+ <%= link_to "#{t('etabliocms_core_user.add')} &raquo;".html_safe, new_admin_user_path, :class => 'text-icon icon-add' %>
7
+ <%= link_to "#{t('admin.refresh')} &raquo;".html_safe, admin_users_path, :class => 'text-icon icon-refresh' %>
8
+ <%= link_to "#{t('admin.back_to_admin')} &raquo;".html_safe, admin_path, :class => 'text-icon icon-backward' %>
9
+ </div>
10
+
11
+ <table class="admin-table">
12
+ <thead>
13
+ <tr>
14
+ <th><%= t('activerecord.attributes.etabliocms_core_user.email') %></th>
15
+ <th><%= t('activerecord.attributes.etabliocms_core_user.last_sign_in_at') %></th>
16
+ <th><%= t('admin.actions') %></th>
17
+ </tr>
18
+ </thead>
19
+ <tbody>
20
+
21
+ <% for item in @users %>
22
+ <tr class="<%= cycle("odd-row", "even-row") -%>">
23
+ <td><%= link_to item.email, edit_admin_user_url(item.id) %></td>
24
+ <td><%= l(item.last_sign_in_at, :format => :short) if item.last_sign_in_at.is_a?(DateTime) %></td>
25
+ <td>
26
+ <%= link_to t('admin.edit'), edit_admin_user_url(item.id), :class => 'icon icon-edit', :title => t('admin.edit') %>
27
+ <%= link_to t('admin.destroy'), admin_user_url(item.id),
28
+ :method => :delete,
29
+ :confirm => t('etabliocms_core_user.destroy_confirmation'),
30
+ :class => 'icon icon-destroy',
31
+ :title => t('admin.destroy') %>
32
+ </td>
33
+ <% end %>
34
+ </tbody>
35
+ </table>
@@ -0,0 +1,7 @@
1
+ <% set_title_and_breadcrumb t('etabliocms_core_user.new') %>
2
+
3
+ <h1><%= t('etabliocms_core_user.new') %></h1>
4
+
5
+ <%= form_for @user, :url => admin_users_url, :html => {:method => :post, :id => "admin-form"} do |f| -%>
6
+ <%= render :partial => 'form', :locals => { :f => f } %>
7
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <% if target.errors.any? %>
2
+ <div id="errorExplanation">
3
+ <h2><%= t('common.error_explanation') %></h2>
4
+ <ul>
5
+ <% target.errors.full_messages.each do |msg| %>
6
+ <li><%= msg %></li>
7
+ <% end %>
8
+ </ul>
9
+ </div>
10
+ <% end %>
@@ -0,0 +1,11 @@
1
+ <div id="flash">
2
+ <%- flash.each do |name, msg| -%>
3
+ <%- if msg.is_a?(String) %>
4
+ <p class="<%= name %>">
5
+ <a href="" class="flash-close" title="Zavřít">
6
+ <img src="<%= asset_path "admin/icon-close.png" %>" alt="<%= t('common.close') %>"/></a>
7
+ <%= msg %>
8
+ </p>
9
+ <%- end %>
10
+ <%- end -%>
11
+ </div>
@@ -0,0 +1,39 @@
1
+ <footer id="contact">
2
+ <div id="contact-inner">
3
+ <div id="contact-inner-inner">
4
+ <div id="map">
5
+ <div id="map-inner">
6
+ </div>
7
+ </div>
8
+ <p><%= t('contact.name') %></p>
9
+ <p><%= t('contact.street') %></p>
10
+ <p><%= t('contact.city') %></p>
11
+ <p></p>
12
+ <table>
13
+ <tr>
14
+ <th><%= t('contact.phone') %>:</th>
15
+ <td><%= t('contact.phone1') %>, <br/><%= t('contact.phone2') %></td>
16
+ </tr>
17
+ <tr>
18
+ <th><%= t('contact.email') %>:</th>
19
+ <td><a href="mailto:<%= configatron.email %>"><%= configatron.email %></a></td>
20
+ </tr>
21
+ <tr>
22
+ <th><%= t('contact.opened') %>:</th>
23
+ <td><%= t('contact.opening_time') %></td>
24
+ </tr>
25
+ </table>
26
+ <%= link_to t('contact.facebook'), configatron.facebook, :id => "fb-link" %>
27
+
28
+ <h3 class="centered"><%= t('contact.internet_prices') %></h3>
29
+
30
+ <p class="centered grey"><%= t('contact.internet_prices_text') %></p>
31
+ </div>
32
+ </div>
33
+ </footer>
34
+
35
+ <footer id="conclusion">
36
+ <p>
37
+ <%= Date.today.year %> &copy; <%= link_to configatron.title, root_url %> | <%= link_to t('common.login'), new_user_session_path %>
38
+ </p>
39
+ </footer>
@@ -0,0 +1,5 @@
1
+ <h3><%= image_tag asset_path("admin/sidebar-users.png"), :alt => t('etabliocms_core_user.users') %><%= t('etabliocms_core_user.users') %></h3>
2
+ <ul>
3
+ <li><%= link_to_unless_current I18n.t('etabliocms_core_user.users_count', :count => EtabliocmsCore::User.count), admin_users_path %></li>
4
+ <li><%= link_to_unless_current t('etabliocms_core_user.add'), new_admin_user_path %></li>
5
+ </ul>
@@ -0,0 +1,72 @@
1
+ <!doctype html>
2
+ <!--[if lt IE 7 ]>
3
+ <html class="ie ie6" lang="cs"> <![endif]-->
4
+ <!--[if IE 7 ]>
5
+ <html class="ie ie7" lang="cs"> <![endif]-->
6
+ <!--[if IE 8 ]>
7
+ <html class="ie ie8" lang="cs"> <![endif]-->
8
+ <!--[if (gte IE 9)|!(IE)]><!-->
9
+ <html lang="cs"> <!--<![endif]-->
10
+ <head>
11
+ <meta charset="utf-8">
12
+ <meta http-equiv="Content-Language" content="cs"/>
13
+ <meta name="description" content="<%= yield :title %> – Administrace"/>
14
+ <title><%= yield :title %> | <%= t('admin.admin') %> </title>
15
+ <%= stylesheet_link_tag "admin-core" %>
16
+ <%= javascript_include_tag "admin-core" %>
17
+ <%= csrf_meta_tags %>
18
+ </head>
19
+
20
+ <body class="<%= body_class %>">
21
+ <header id="topbar">
22
+ <div class="container">
23
+ <nav id="user-information">
24
+
25
+ <% if etabliocms_core_user_signed_in? -%>
26
+ <strong><%= t('common.logged') %>: <%= link_to current_etabliocms_core_user.email, admin_path %></strong>
27
+ <ul>
28
+ <li><%= link_to t('common.logout'), destroy_etabliocms_core_user_session_path, {:title => t('common.logout'), :method => :delete} %></li>
29
+ </ul>
30
+ <% end -%>
31
+
32
+ </nav>
33
+ </div>
34
+ </header>
35
+
36
+ <div class="container">
37
+ <div id="main">
38
+ <div id="content">
39
+
40
+ <%= render "layouts/flashes" %>
41
+
42
+ <%= yield %>
43
+
44
+ </div>
45
+
46
+ <nav id="sidebar">
47
+ <div id="sidebar-inner">
48
+ <div id="sidebar-inner-inner">
49
+
50
+ <% EtabliocmsCore.modules.each do |m| %>
51
+ <%= render :partial => "layouts/sidebar_#{m}" %>
52
+ <% end %>
53
+
54
+ </div>
55
+ </div>
56
+ </nav>
57
+
58
+ </div>
59
+ </div>
60
+
61
+
62
+ <script>
63
+ $(function() {
64
+ Shared.initFlashClose();
65
+ Admin.initPopUp();
66
+ })
67
+ </script>
68
+
69
+ <%= yield :javascript %>
70
+
71
+ </body>
72
+ </html>