knitkit 2.1.15 → 3.0.0

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 (209) hide show
  1. checksums.yaml +7 -0
  2. data/app/controllers/knitkit/base_controller.rb +1 -1
  3. data/app/controllers/knitkit/comments_controller.rb +7 -2
  4. data/app/controllers/knitkit/erp_app/desktop/app_controller.rb +78 -98
  5. data/app/controllers/knitkit/erp_app/desktop/articles_controller.rb +65 -45
  6. data/app/controllers/knitkit/erp_app/desktop/content_controller.rb +22 -12
  7. data/app/controllers/knitkit/erp_app/desktop/file_assets_controller.rb +1 -1
  8. data/app/controllers/knitkit/erp_app/desktop/image_assets_controller.rb +28 -16
  9. data/app/controllers/knitkit/erp_app/desktop/inquiries_controller.rb +15 -49
  10. data/app/controllers/knitkit/erp_app/desktop/online_document_sections_controller.rb +4 -3
  11. data/app/controllers/knitkit/erp_app/desktop/position_controller.rb +69 -11
  12. data/app/controllers/knitkit/erp_app/desktop/theme_controller.rb +63 -60
  13. data/app/controllers/knitkit/erp_app/desktop/website_controller.rb +98 -82
  14. data/app/controllers/knitkit/erp_app/desktop/website_host_controller.rb +77 -0
  15. data/app/controllers/knitkit/erp_app/desktop/website_nav_controller.rb +64 -44
  16. data/app/controllers/knitkit/erp_app/desktop/website_nav_item_controller.rb +147 -0
  17. data/app/controllers/knitkit/erp_app/desktop/website_section_controller.rb +81 -45
  18. data/app/controllers/knitkit/mobile_controller.rb +15 -0
  19. data/app/controllers/knitkit/online_document_sections_controller.rb +2 -1
  20. data/app/controllers/knitkit/unauthorized_controller.rb +0 -1
  21. data/app/controllers/knitkit/website_sections_controller.rb +7 -4
  22. data/app/mailers/website_inquiry_mailer.rb +8 -7
  23. data/app/models/content.rb +11 -2
  24. data/app/models/document.rb +2 -17
  25. data/app/models/published_website.rb +96 -59
  26. data/app/models/theme.rb +100 -14
  27. data/app/models/website.rb +260 -28
  28. data/app/models/website_inquiry.rb +5 -12
  29. data/app/models/website_section.rb +9 -1
  30. data/app/views/knitkit/blogs/_add_comment.html.erb +44 -23
  31. data/app/views/knitkit/blogs/_comment.html.erb +4 -6
  32. data/app/views/knitkit/blogs/index.html.erb +63 -49
  33. data/app/views/knitkit/blogs/show.html.erb +17 -12
  34. data/app/views/knitkit/mobile/index.html.erb +162 -0
  35. data/app/views/knitkit/online_document_sections/index.html.erb +7 -5
  36. data/app/views/knitkit/unauthorized/index.html.erb +8 -4
  37. data/app/views/knitkit/website_sections/index.html.erb +8 -4
  38. data/app/views/layouts/knitkit/base.html.erb +79 -63
  39. data/app/views/layouts/knitkit/online_document_sections.html.erb +74 -52
  40. data/app/views/menus/knitkit/_default_menu.html.erb +4 -4
  41. data/app/views/menus/knitkit/_default_section_menu.html.erb +22 -23
  42. data/app/views/shared/knitkit/_bread_crumb.html.erb +10 -7
  43. data/app/views/shared/knitkit/_footer.html.erb +2 -2
  44. data/app/views/website_inquiry_mailer/inquiry.erb +23 -2
  45. data/app/widgets/contact_us/base.rb +25 -50
  46. data/app/widgets/contact_us/javascript/contact_us.js +7 -7
  47. data/app/widgets/contact_us/views/error.html.erb +6 -8
  48. data/app/widgets/contact_us/views/index.html.erb +28 -1
  49. data/app/widgets/contact_us/views/layouts/base.html.erb +9 -6
  50. data/app/widgets/contact_us/views/success.html.erb +3 -3
  51. data/app/widgets/google_map/views/index.html.erb +36 -36
  52. data/app/widgets/login/base.rb +1 -0
  53. data/app/widgets/login/javascript/login.js +3 -3
  54. data/app/widgets/login/views/index.html.erb +46 -26
  55. data/app/widgets/login/views/layouts/base.html.erb +15 -13
  56. data/app/widgets/login/views/login_header.html.erb +7 -9
  57. data/app/widgets/manage_profile/base.rb +116 -164
  58. data/app/widgets/manage_profile/views/_address.html.erb +184 -0
  59. data/app/widgets/manage_profile/views/_contact_information_form.html.erb +23 -192
  60. data/app/widgets/manage_profile/views/_email_address.html.erb +163 -0
  61. data/app/widgets/manage_profile/views/_password_form.html.erb +23 -20
  62. data/app/widgets/manage_profile/views/_phone_number.html.erb +165 -0
  63. data/app/widgets/manage_profile/views/_user_information_form.html.erb +49 -33
  64. data/app/widgets/manage_profile/views/error.html.erb +6 -0
  65. data/app/widgets/manage_profile/views/index.html.erb +44 -46
  66. data/app/widgets/manage_profile/views/layouts/base.html.erb +3 -1
  67. data/app/widgets/manage_profile/views/success.html.erb +5 -0
  68. data/app/widgets/reset_password/views/index.html.erb +33 -28
  69. data/app/widgets/reset_password/views/layouts/base.html.erb +10 -1
  70. data/app/widgets/search/base.rb +37 -25
  71. data/app/widgets/search/views/_inline_search_form.html.erb +12 -0
  72. data/app/widgets/search/views/_search_form.html.erb +41 -0
  73. data/app/widgets/search/views/index.html.erb +5 -3
  74. data/app/widgets/search/views/layouts/base.html.erb +13 -23
  75. data/app/widgets/search/views/show.html.erb +32 -47
  76. data/app/widgets/signup/base.rb +1 -1
  77. data/app/widgets/signup/javascript/signup.js +7 -9
  78. data/app/widgets/signup/views/_signup_form.html.erb +34 -29
  79. data/app/widgets/signup/views/error.html.erb +11 -11
  80. data/app/widgets/signup/views/index.html.erb +3 -2
  81. data/app/widgets/signup/views/layouts/base.html.erb +8 -5
  82. data/app/widgets/signup/views/success.html.erb +5 -4
  83. data/config/routes.rb +39 -28
  84. data/db/data_migrations/20120809020508_update_website_and_configuration.rb +3 -0
  85. data/db/migrate/20110211002317_setup_knitkit.rb +0 -1
  86. data/db/migrate/20131112013052_add_knitkit_missing_indexes.rb +33 -0
  87. data/db/migrate/20140622212723_update_website_inquiries.rb +22 -0
  88. data/db/migrate/20140911185022_add_publishing_to_website.rb +5 -0
  89. data/db/migrate/20141013073349_add_custom_fields_to_documents.rb +12 -0
  90. data/db/migrate/20141016101936_upgrade_remove_dynamic_attributes.rb +13 -0
  91. data/lib/knitkit.rb +0 -1
  92. data/lib/knitkit/engine.rb +1 -0
  93. data/lib/knitkit/extensions.rb +4 -0
  94. data/lib/knitkit/extensions/active_record/acts_as_commentable.rb +33 -0
  95. data/lib/knitkit/extensions/active_record/acts_as_document.rb +0 -12
  96. data/lib/knitkit/extensions/active_record/acts_as_publishable.rb +7 -10
  97. data/lib/knitkit/extensions/compass_ae/widgets/base.rb +2 -4
  98. data/lib/knitkit/extensions/compass_ae/widgets/widget_proxy_controller.rb +4 -1
  99. data/lib/knitkit/extensions/railties/action_view/helpers/blog_helper.rb +16 -13
  100. data/lib/knitkit/extensions/railties/action_view/helpers/content_helper.rb +10 -8
  101. data/lib/knitkit/extensions/railties/theme_support/asset_tag_helper.rb +123 -108
  102. data/lib/knitkit/extensions/will_paginate/link_renderer.rb +67 -0
  103. data/lib/knitkit/routing_filter/section_router.rb +10 -8
  104. data/lib/knitkit/syntax_validator.rb +2 -2
  105. data/lib/knitkit/version.rb +7 -3
  106. data/public/images/inline_edit/close.png +0 -0
  107. data/public/images/knitkit/close_window.png +0 -0
  108. data/public/images/knitkit/logo.png +0 -0
  109. data/public/images/knitkit/splash/images/add-site.png +0 -0
  110. data/public/images/knitkit/splash/images/adjust-site.png +0 -0
  111. data/public/images/knitkit/splash/images/browse-site.png +0 -0
  112. data/public/images/knitkit/splash/images/find-themes.png +0 -0
  113. data/public/images/knitkit/splash/images/settings.png +0 -0
  114. data/public/images/knitkit/splash/images/tutorials.png +0 -0
  115. data/public/images/knitkit/splash/splash.png +0 -0
  116. data/public/javascripts/erp_app/desktop/applications/knitkit/articles_grid_panel.js +656 -627
  117. data/public/javascripts/erp_app/desktop/applications/knitkit/center_region.js +444 -333
  118. data/public/javascripts/erp_app/desktop/applications/knitkit/{east_region.js → east_region/east_region.js} +33 -33
  119. data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/file_assets_panel.js +332 -0
  120. data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_data_view.js +144 -0
  121. data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_panel.js +335 -0
  122. data/public/javascripts/erp_app/desktop/applications/knitkit/{widgets_panel.js → east_region/widgets_panel.js} +55 -55
  123. data/public/javascripts/erp_app/desktop/applications/knitkit/inquiries_grid_panel.js +150 -37
  124. data/public/javascripts/erp_app/desktop/applications/knitkit/module.js +228 -96
  125. data/public/javascripts/erp_app/desktop/applications/knitkit/publish_window.js +89 -85
  126. data/public/javascripts/erp_app/desktop/applications/knitkit/published_grid_panel.js +238 -217
  127. data/public/javascripts/erp_app/desktop/applications/knitkit/select_roles_window.js +59 -54
  128. data/public/javascripts/erp_app/desktop/applications/knitkit/splash_screen.js +170 -0
  129. data/public/javascripts/erp_app/desktop/applications/knitkit/top_menu/main_menu.js +1168 -0
  130. data/public/javascripts/erp_app/desktop/applications/knitkit/top_menu/websites_combo.js +71 -0
  131. data/public/javascripts/erp_app/desktop/applications/knitkit/versions_grid_panel.js +301 -306
  132. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/article.js +216 -0
  133. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/document.js +182 -153
  134. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/host.js +48 -65
  135. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/menu.js +93 -94
  136. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/section.js +523 -197
  137. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website_nav_items.js +20 -34
  138. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/hosts_tree_panel.js +74 -0
  139. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/menu_tree_panel.js +245 -0
  140. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/site_contents_tree_panel.js +360 -0
  141. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/themes_tree_panel.js +348 -0
  142. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/west_region.js +106 -1132
  143. data/public/javascripts/knitkit/bootstrap-datepicker.js +474 -0
  144. data/public/javascripts/knitkit/bootstrap.min.js +7 -0
  145. data/public/javascripts/knitkit/confirm-bootstrap.js +110 -0
  146. data/public/javascripts/knitkit/inline_editing.js +73 -50
  147. data/public/javascripts/knitkit/jquery.maskedinput.min.js +7 -0
  148. data/public/javascripts/knitkit/mobile/app/view/Main.js +108 -0
  149. data/public/javascripts/knitkit/mobile/ux/slidenavigation/View.js +734 -0
  150. data/public/javascripts/knitkit/theme.js +76 -0
  151. data/public/stylesheets/erp_app/desktop/applications/knitkit/knitkit.css +95 -35
  152. data/public/stylesheets/knitkit/bootstrap-responsive.min.css +10 -0
  153. data/public/stylesheets/knitkit/bootstrap.min.css +7 -0
  154. data/public/stylesheets/knitkit/custom.css +122 -0
  155. data/public/stylesheets/knitkit/datepicker.css +182 -0
  156. data/public/stylesheets/knitkit/inline_editing.css +58 -58
  157. data/spec/controllers/knitkit/erp_app/desktop/website_section_controller_spec.rb +1 -1
  158. data/spec/dummy/config/application.rb +1 -1
  159. data/spec/models/article_spec.rb +3 -3
  160. data/spec/models/content_spec.rb +9 -9
  161. data/spec/models/website_spec.rb +1 -1
  162. metadata +100 -114
  163. data/app/helpers/application_helper.rb +0 -134
  164. data/app/views/knitkit/articles/index.html.erb +0 -3
  165. data/app/views/knitkit/articles/show.html.erb +0 -4
  166. data/app/views/menus/knitkit/_default_sub_menu.html.erb +0 -43
  167. data/app/views/menus/knitkit/_default_sub_section_menu.html.erb +0 -47
  168. data/app/widgets/contact_us/views/_contact_form.html.erb +0 -36
  169. data/app/widgets/dynamic_forms/base.rb +0 -139
  170. data/app/widgets/dynamic_forms/javascript/dynamic_forms.js +0 -110
  171. data/app/widgets/dynamic_forms/views/error.html.erb +0 -5
  172. data/app/widgets/dynamic_forms/views/index.html.erb +0 -8
  173. data/app/widgets/dynamic_forms/views/success.html.erb +0 -4
  174. data/app/widgets/dynamic_grid/base.rb +0 -130
  175. data/app/widgets/dynamic_grid/helpers/controller/dynamic_grid_controller_helper.rb +0 -3
  176. data/app/widgets/dynamic_grid/helpers/view/dynamic_grid_view_helper.rb +0 -3
  177. data/app/widgets/dynamic_grid/javascript/dynamic_grid.js +0 -177
  178. data/app/widgets/dynamic_grid/views/index.html.erb +0 -14
  179. data/app/widgets/login/views/reset_password.html.erb +0 -26
  180. data/app/widgets/manage_profile/views/default_type_error.html.erb +0 -5
  181. data/app/widgets/scaffold/base.rb +0 -87
  182. data/app/widgets/scaffold/helpers/controller/scaffold_controller_helper.rb +0 -3
  183. data/app/widgets/scaffold/helpers/view/scaffold_view_helper.rb +0 -3
  184. data/app/widgets/scaffold/javascript/scaffold.js +0 -337
  185. data/app/widgets/scaffold/views/index.html.erb +0 -15
  186. data/app/widgets/search/views/_search.html.erb +0 -39
  187. data/public/images/knitkit/bullet.png +0 -0
  188. data/public/images/knitkit/close.png +0 -0
  189. data/public/images/knitkit/content.png +0 -0
  190. data/public/images/knitkit/footer.png +0 -0
  191. data/public/images/knitkit/graphic.png +0 -0
  192. data/public/images/knitkit/greyFadeDown.png +0 -0
  193. data/public/images/knitkit/link.png +0 -0
  194. data/public/images/knitkit/menu.png +0 -0
  195. data/public/images/knitkit/menu_select.png +0 -0
  196. data/public/images/knitkit/search.png +0 -0
  197. data/public/images/knitkit/tooltip.gif +0 -0
  198. data/public/javascripts/ajax_pagination.js +0 -33
  199. data/public/javascripts/datepicker.js +0 -445
  200. data/public/javascripts/erp_app/desktop/applications/knitkit/file_assets_panel.js +0 -341
  201. data/public/javascripts/erp_app/desktop/applications/knitkit/image_assets_data_view.js +0 -31
  202. data/public/javascripts/erp_app/desktop/applications/knitkit/image_assets_panel.js +0 -263
  203. data/public/javascripts/erp_app/desktop/applications/knitkit/section_articles_grid_panel.js +0 -722
  204. data/public/javascripts/erp_app/desktop/applications/knitkit/themes_tree_panel.js +0 -585
  205. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website.js +0 -155
  206. data/public/javascripts/knitkit/helpers.js +0 -26
  207. data/public/stylesheets/datepicker.css +0 -121
  208. data/public/stylesheets/extjs/resources/css/knitkit_extjs_4.css +0 -233
  209. data/public/stylesheets/knitkit/style.css +0 -426
@@ -2,18 +2,11 @@ class WebsiteInquiry < ActiveRecord::Base
2
2
  attr_protected :created_at, :updated_at
3
3
 
4
4
  belongs_to :website
5
- belongs_to :user
5
+ belongs_to :created_by, :class_name => 'User', :foreign_key => 'created_by_id'
6
6
 
7
- acts_as_dynamic_form_model
8
- has_dynamic_forms
9
- has_dynamic_data
7
+ validates :first_name, presence: true
8
+ validates :last_name, presence: true
9
+ validates :message, presence: true
10
+ validates :email, presence: true, format: {with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create}
10
11
 
11
- def send_email(subject='')
12
- begin
13
- WebsiteInquiryMailer.inquiry(self, subject).deliver
14
- rescue Exception => e
15
- system_user = Party.find_by_description('Compass AE')
16
- AuditLog.custom_application_log_message(system_user, e)
17
- end
18
- end
19
12
  end
@@ -23,7 +23,7 @@ class WebsiteSection < ActiveRecord::Base
23
23
 
24
24
  validates :title, :presence => {:message => 'Title cannot be blank'}
25
25
  validates_uniqueness_of :permalink, :scope => [:website_id, :parent_id]
26
- validates_uniqueness_of :internal_identifier, :scope => :website_id, :case_sensitive => false
26
+ validates_uniqueness_of :internal_identifier, :scope => [:website_id, :parent_id], :case_sensitive => false
27
27
 
28
28
  KNIT_KIT_ROOT = Knitkit::Engine.root.to_s
29
29
  WEBSITE_SECTIONS_TEMP_LAYOUT_PATH = "#{Knitkit::Engine.root.to_s}/app/views/knitkit/website_sections"
@@ -38,6 +38,10 @@ class WebsiteSection < ActiveRecord::Base
38
38
  end
39
39
  end
40
40
 
41
+ def is_blog?
42
+ self.is_a?(Blog) || self.attributes['type'] == 'Blog'
43
+ end
44
+
41
45
  def secure
42
46
  capability = self.add_capability(:view)
43
47
  roles = ['admin', 'website_author', self.website.website_role_iid]
@@ -83,6 +87,10 @@ class WebsiteSection < ActiveRecord::Base
83
87
  def is_section?
84
88
  ['Page', 'Blog'].include? type
85
89
  end
90
+
91
+ def display_in_menu?
92
+ self.in_menu
93
+ end
86
94
 
87
95
  def is_secured?
88
96
  self.protected_with_capability?('view')
@@ -1,29 +1,50 @@
1
- <br/>
2
- <h1>Add Comment</h1>
3
- <div>
4
- <div id="notice"></div>
5
- <br/>
6
-
7
- <%= form_tag "/comments/add/", :remote => true, :id => 'add_comment_form' do %>
8
- <div class="form_settings">
9
- <div>
10
- <p>
11
- <span>Comment</span>
12
- <%= text_area_tag :comment, @comment, :rows => 8, :cols => 50 %>
13
- </p>
14
- <p style="padding-top: 15px">
15
- <span>&nbsp;</span>
16
- <%= submit_tag "Add Comment", :disable_with => "Please wait...", :class => "submit" %>
17
- </p>
18
- <input type="hidden" name="content_id" value="<%=@published_content.content.id%>" />
19
- </div>
1
+ <div class="container">
2
+ <div class="page-header">
3
+ <h2>Add Comment</h2>
20
4
  </div>
21
- <% end %>
22
5
 
6
+ <div>
7
+ <div id="notice"></div>
8
+ <br/>
9
+
10
+ <%= form_tag "/comments/add/", :remote => true, :id => 'add_comment_form', :role => "form" do %>
11
+ <div class="form-group">
12
+ <label for="comment">Comment</label>
13
+
14
+ <textarea id="comment" name="comment" class="form-control" rows="3"></textarea>
15
+
16
+ <br/>
17
+ <%= submit_tag "Add Comment", :disable_with => "Please wait...", :class => "btn btn-primary" %>
18
+
19
+ <input type="hidden" name="content_id" value="<%= @published_content.content.id %>"/>
20
+
21
+ </div>
22
+ <% end %>
23
+
24
+ </div>
23
25
  </div>
24
26
 
25
27
  <script type="text/javascript">
26
- jQuery('#add_comment_form').bind('ajaxComplete', function(e, xhr, settings){
27
- jQuery('#notice').html(xhr.responseText);
28
- });
28
+ jQuery('#add_comment_form').bind('ajax:success', function (e, response) {
29
+ var html = '';
30
+
31
+ if (response.success) {
32
+ html = [
33
+ '<div class="alert alert-success" >',
34
+ '<button type="button" class="close" data-dismiss="alert">&times;</button>',
35
+ response.message,
36
+ '</div>'
37
+ ].join('');
38
+ }
39
+ else {
40
+ html = [
41
+ '<div class="alert alert-danger" >',
42
+ '<button type="button" class="close" data-dismiss="alert">&times;</button>',
43
+ response.message,
44
+ '</div>'
45
+ ].join('');
46
+ }
47
+
48
+ jQuery('#notice').html(html);
49
+ });
29
50
  </script>
@@ -1,8 +1,6 @@
1
- <div id="commentDiv">
2
- <div>
1
+ <div class="panel panel-default">
2
+ <div class="panel-heading"><%=comment.commentor_name%> - <%=comment.created_at.strftime("Commented on %m/%d/%Y")%></div>
3
+ <div class="panel-body">
3
4
  <%=raw comment.comment %>
4
5
  </div>
5
- <br/>
6
- <span><%=comment.commentor_name%> - <%=comment.created_at.strftime("Commented on %m/%d/%Y")%></span>
7
- </div>
8
- <br/>
6
+ </div>
@@ -1,51 +1,65 @@
1
- <h2><%=h @website_section.title %></h2>
2
-
3
- <div class="blog_articles left">
4
- <% @contents.each do |content| %>
5
- <div class="blog_post" id="blog_<%=h content.id %>">
6
- <h4><%=h content.title %></h4>
7
- <p>
8
- Posted: <%= content.created_at.to_s(:long) %> <%=published_content_created_by %><br />
9
- Topics: <%=content.content.tag_list %>
10
- </p>
11
- <div class="blog_body">
12
- <%= raw content.excerpt_html %>
1
+ <div class="container">
2
+
3
+ <div class="row">
4
+ <div class="col-md-12">
5
+ <div class="page-header">
6
+ <h1><%= @website_section.title %></h1>
7
+ </div>
8
+ </div>
9
+
10
+ <div class="col-md-8">
11
+
12
+ <% @contents.each do |content| %>
13
+ <div id="blog_<%= h content.id %>">
14
+ <h4><%= content.title %></h4>
15
+
16
+ <p>
17
+ Posted: <%= content.created_at.to_s(:long) %> <%= published_content_created_by %><br/>
18
+ Topics: <%= content.content.pretty_tag_list %>
19
+ </p>
20
+
21
+ <p>
22
+ <%= raw content.excerpt_html %>
23
+ </p>
24
+
25
+ <div><%= link_to 'Read More...', main_app.blog_article_path(@website_section.id, content.permalink) %></div>
26
+
27
+ </div>
28
+ <% end %>
29
+
30
+ <%= blog_pagination 'blog_pagination', params %>
31
+
32
+ </div>
33
+
34
+ <div class="col-md-4">
35
+ <div>
36
+ <h4>Topics</h4>
37
+ <%= blog_topics 'tag_link' %>
38
+ </div>
39
+
40
+ <div>
41
+ <h4>Links</h4>
42
+ <%= blog_rss_links 'RSS Feed' %>
43
+ </div>
44
+
45
+ <div>
46
+ <% #Optional Parameters:
47
+ # content_type: Leave blank to search all section types, set to Blog to only search Blog articles
48
+ # section_unique_name: Leave blank to search all pages if passed will confine search to a particular
49
+ # pages content
50
+ # search_url: Main search url, only needed if results are being redirected
51
+ # redirect_results: If true will redirect to search page to display results. Used for inline search
52
+ # boxes
53
+ # per_page: Number of results per page
54
+ %>
55
+ <%= render_widget :search,
56
+ :params => set_widget_params({
57
+ :content_type => 'Blog',
58
+ :section_unique_name => @blog.internal_identifier,
59
+ :per_page => 2
60
+ }) %>
13
61
  </div>
14
- <div><%= link_to 'Read More...', main_app.blog_article_path(@website_section.id, content.permalink) %></div>
15
62
  </div>
16
- <% end %>
17
-
18
- <%= blog_pagination 'blog_pagination', params %>
19
-
20
- </div>
21
-
22
- <div class="sidebar blog_tags">
23
- <h4>Topics</h4>
24
- <%=blog_topics 'tag_link' %>
25
- </div>
26
-
27
- <div class="sidebar rss">
28
- <h4>Links</h4>
29
- <%=blog_rss_links 'RSS Feed' %>
30
- </div>
31
-
32
- <div class="sidebar blog_search">
33
- <% #Optional Parameters:
34
- # content_type: Leave blank to search all section types, set to Blog to only search Blog articles
35
- # section_permalink: This is the permalink value for the section
36
- # Useful if you only want to search articles within a single Blog section
37
- # results_permalink: How do you want your results to display? via ajax? or on a new page?
38
- # Leave blank if you want results to display via ajax on the same page as the search form
39
- # Enter the permalink of results page if you want the search results to display on a new page
40
- # per_page: Number of results per page
41
- # class: CSS class for the form %>
42
- <%= render_widget :search,
43
- :action => get_widget_action,
44
- :params => set_widget_params({
45
- :content_type => 'Blog',
46
- :section_permalink => '',
47
- :results_permalink => 'search',
48
- :per_page => 20,
49
- :class => ''
50
- }) %>
51
- </div>
63
+ </div>
64
+
65
+ </div>
@@ -1,22 +1,27 @@
1
- <div class="blog_post">
1
+ <div class="container">
2
+ <div class="page-header">
3
+
4
+ <h1><%= @blog.title %></h1>
5
+
6
+ <h3><%= @published_content.title %></h3>
7
+
8
+ </div>
2
9
 
3
- <h2><%=h @blog.title %></h2>
4
- <br/>
5
- <h3><%=h @published_content.title %></h3>
6
10
  <p>
7
- Posted: <%= @published_content.created_at.to_s(:long) %> <%=published_content_created_by %><br />
8
- Topics: <%= @published_content.content.tag_list %>
11
+ Posted: <%= @published_content.created_at.to_s(:long) %> <%= published_content_created_by %><br/>
12
+ Topics: <%= @published_content.content.pretty_tag_list %>
9
13
  </p>
10
- <p><%= raw @published_content.excerpt_html %></p>
14
+
11
15
  <%= raw @published_content.body_html %>
12
16
 
13
17
  <h3>Comments</h3>
14
18
  <br/>
15
19
  <%= blog_recent_approved_comments %>
16
- <br/>
17
- <br/>
18
20
 
19
- <hr/>
20
- <%=blog_add_comment_form %>
21
+ <p class="text-center"><%= link_to "Home", @blog.path %></p>
22
+
23
+ <br/>
24
+ </div>
25
+ <hr/>
26
+ <%= blog_add_comment_form %>
21
27
 
22
- </div>
@@ -0,0 +1,162 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <title><%= @website.title %></title>
5
+ <%= include_sencha_touch :debug => (Rails.env != 'production') %>
6
+ <%= static_javascript_include_tag('erp_app/utility.js') %>
7
+ <%= static_javascript_include_tag('erp_app/mobile/mobile_base.js') %>
8
+
9
+ <script type="text/javascript">
10
+ Ext.Loader.setPath({
11
+ 'KnitkitMobile': 'javascripts/knitkit/mobile/app',
12
+ 'Ext.ux': 'javascripts/knitkit/mobile/ux'
13
+ });
14
+
15
+ Ext.define("KnitkitMobile.view.Main", {
16
+ extend: 'Ext.ux.slidenavigation.View',
17
+ itemId: 'slideContainer',
18
+
19
+ requires: [
20
+ 'Ext.Container',
21
+ 'Ext.MessageBox',
22
+ 'Ext.Panel',
23
+ 'Ext.Toolbar',
24
+ 'Ext.event.publisher.Dom'
25
+ ],
26
+
27
+ config: {
28
+ style: 'font-size:14px;',
29
+
30
+ fullscreen: true,
31
+
32
+ /**
33
+ * Any component within the container with an 'x-toolbar' class
34
+ * will be draggable. To disable draggin all together, set this
35
+ * to false.
36
+ */
37
+ slideSelector: 'x-container',
38
+
39
+ /**
40
+ * Time in milliseconds to animate the closing of the container
41
+ * after an item has been clicked on in the list.
42
+ */
43
+ selectSlideDuration: 200,
44
+
45
+ /**
46
+ * Enable content masking when container is open.
47
+ *
48
+ * @since 0.2.0
49
+ */
50
+ itemMask: true,
51
+
52
+ /**
53
+ * Define the default slide button config. Any item that has
54
+ * a `slideButton` value that is either `true` or a button config
55
+ * will use these values at the default.
56
+ */
57
+ slideButtonDefaults: {
58
+ selector: 'toolbar'
59
+ },
60
+
61
+ /**
62
+ * This allows us to configure how the actual list container
63
+ * looks. Here we've added a custom search field and have
64
+ * modified the width.
65
+ */
66
+ list: {
67
+ maxDrag: 400,
68
+ //width: (Ext.os.is.iOS ? 300 : 250),
69
+ items: [
70
+ {
71
+ xtype: 'toolbar',
72
+ docked: 'top',
73
+ ui: 'light',
74
+ title: {
75
+ title: 'Menu',
76
+ centered: true,
77
+ width: 200,
78
+ left: 0
79
+ }
80
+ }
81
+ ]
82
+
83
+ },
84
+
85
+ /**
86
+ * Example of how to re-order the groups.
87
+ */
88
+ /*groups: {
89
+ 'Pages': 1,
90
+ 'Account': 2
91
+ },*/
92
+
93
+ /**
94
+ * These are the default values to apply to the items within the
95
+ * container.
96
+ */
97
+ defaults: {
98
+ style: 'background: #fff',
99
+ xtype: 'container'
100
+ },
101
+
102
+ items: [
103
+ <% @website.sections.each do |section| %>
104
+ <% if section.in_menu && section.allow_access?(current_user, :view) %>
105
+ {
106
+ title: '<%= section.title %>',
107
+ slideButton: true,
108
+ items: [
109
+ {
110
+ xtype: 'toolbar',
111
+ title: '<%= section.title %>',
112
+ docked: 'top'
113
+ },
114
+ {
115
+ xtype: 'panel',
116
+ scrollable: true,
117
+ bodyPadding: '5px',
118
+ listeners: {
119
+ painted: function (comp) {
120
+ var me = this;
121
+
122
+ Ext.Ajax.request({
123
+ method: 'GET',
124
+ timeout: 60000,
125
+ params: {
126
+ is_mobile: true
127
+ },
128
+ url: '/<%= section.internal_identifier %>',
129
+ success: function (response) {
130
+ me.setHtml(response.responseText);
131
+ },
132
+ failure: function (response) {
133
+ Ext.Msg.alert('Info', 'Could not load page');
134
+ }
135
+ });
136
+ }
137
+ }
138
+ }
139
+ ]
140
+ },
141
+ <% end %>
142
+ <% end %>
143
+ ]
144
+ }
145
+ });
146
+
147
+ Ext.application({
148
+ name: 'KnitkitMobile',
149
+
150
+ views: ['Main'],
151
+
152
+ launch: function () {
153
+ this.main = Ext.create('KnitkitMobile.view.Main');
154
+ Ext.Viewport.add(this.main);
155
+ Ext.Viewport.setActiveItem(this.main);
156
+ }
157
+ });
158
+ </script>
159
+ </head>
160
+ <body>
161
+ </body>
162
+ </html>