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
@@ -1,34 +1,50 @@
1
- <%= form_tag build_widget_url(:update_user_information), :remote => true, :html => {:id => 'user_information_form'} do %>
2
- <div class="form_settings" style="margin-left: 20px;">
3
- <p>
4
- <span>Email Address</span>
5
- <%= text_field_tag :email, @user.email %>
6
- </p>
7
- <p>
8
- <span>First Name</span>
9
- <%= text_field_tag :first_name, @individual.current_first_name %>
10
- </p>
11
- <p>
12
- <span>Last Name</span>
13
- <%= text_field_tag :last_name, @individual.current_last_name %>
14
- </p>
15
- <p>
16
- <span>Middle Name</span>
17
- <%= text_field_tag :middle_name, @individual.current_middle_name %>
18
- </p>
19
- <p>
20
- <span>Date of Birth</span>
21
- <!--find a better solution for styling this. this method cant be overridden easily by a template -->
22
- <%= select_date(@individual.birth_date, {:start_year => Time.now.year - 100, :end_year => Time.now.year},
23
- {:style => 'width: auto;'}) %>
24
- </p>
25
- <p>
26
- <span>Gender</span>
27
- <%= select_tag(:gender, options_for_select([['M', 'm'], ['F', 'f']], @individual.gender), {:style => 'width: auto;'})%>
28
- </p>
29
- <p style="padding-top: 15px">
30
- <%= submit_tag "Submit", :disable_with => "Please wait...", :class => "submit", :style => "margin: 0 0 0 120px;" %>
31
- <input type="reset" class="submit" value="Reset" style="margin-left: 0;" />
32
- </p>
1
+ <%= form_tag build_widget_url(:update_user_information), :remote => true, :id => 'user_information_form', :role => 'form' do %>
2
+ <div class="form-group">
3
+ <label for="email">Email Address</label>
4
+ <%= text_field_tag :email, @user.email, :class => 'form-control', :required => true %>
33
5
  </div>
34
- <% end %>
6
+ <div class="form-group">
7
+ <label for="first_name">First Name</label>
8
+ <%= text_field_tag :first_name, @individual.current_first_name, :class => 'form-control', :required => true %>
9
+ </div>
10
+ <div class="form-group">
11
+ <label for="last_name">Last Name</label>
12
+ <%= text_field_tag :last_name, @individual.current_last_name, :class => 'form-control', :required => true %>
13
+ </div>
14
+ <div class="form-group">
15
+ <label for="middle_name">Middle Name</label>
16
+ <%= text_field_tag :middle_name, @individual.current_middle_name, :class => 'form-control' %>
17
+ </div>
18
+ <div class="form-group">
19
+ <label for="birth_date">Date of Birth</label>
20
+ <%= text_field_tag :birth_date,
21
+ (@individual.birth_date.nil? ? Date.today.strftime('%m/%d/%Y') : @individual.birth_date.strftime('%m/%d/%Y')),
22
+ :class => 'form-control',
23
+ :required => true %>
24
+ </div>
25
+ <div class="form-group">
26
+ <label>Gender</label>
27
+ <br/>
28
+ <div class="radio-inline">
29
+ <label>
30
+ <input type="radio" name="gender" id="male" <%= if @individual.gender == 'm' then 'checked=true' end %> value="m">
31
+ Male
32
+ </label>
33
+ </div>
34
+ <div class="radio-inline">
35
+ <label>
36
+ <input type="radio" name="gender" id="female" <%= if @individual.gender == 'f' then 'checked=true' end %> value="f">
37
+ Female
38
+ </label>
39
+ </div>
40
+ </div>
41
+ <div class="form-group">
42
+ <%= submit_tag "Submit", :disable_with => "Please wait...", :class => "btn btn-lg btn-primary btn-block" %>
43
+ </div>
44
+ <% end %>
45
+
46
+ <script type="text/javascript">
47
+ jQuery('#birth_date').datepicker({
48
+ format: 'mm/dd/yyyy'
49
+ });
50
+ </script>
@@ -0,0 +1,6 @@
1
+ <div class="alert alert-danger">
2
+ <strong>There was an error:</strong>
3
+ <%= @message %>
4
+ <button type="button" class="close" data-dismiss="alert">&times;</button>
5
+ </div>
6
+
@@ -1,54 +1,52 @@
1
1
  <div id="<%= widget_result_id %>">
2
2
  <% if @message %>
3
- <div class="<%=@message_cls || 'sexynotice'%>">
4
- <%= @message %>
5
- </div>
3
+ <div class="alert alert-success">
4
+ <%= @message %>
5
+ </div>
6
6
  <% end %>
7
- <div>
8
-
9
- <!-- *************************************** Update User Information ************************************* -->
10
-
11
- <a href="#" onclick="var state = document.getElementById('user_info_hide_show').style.display;
12
- if (state == 'block') {
13
- document.getElementById('user_info_hide_show').style.display = 'none';
14
- } else {
15
- document.getElementById('user_info_hide_show').style.display = 'block';
16
- }
17
- return false;
18
- "><h2 style="border-width: 0px 0px 1px; border-style: solid;">User Information</h2></a>
19
-
20
- <div id="user_info_hide_show">
21
- <%= render :partial => '/user_information_form' %>
7
+ </div>
8
+
9
+ <div class="panel-group" id="accordion">
10
+ <div class="panel panel-default">
11
+ <div class="panel-heading">
12
+ <h4 class="panel-title">
13
+ <a data-toggle="collapse" data-parent="#accordion" href="#userInformation">
14
+ User Information
15
+ </a>
16
+ </h4>
22
17
  </div>
23
-
24
- <!-- *************************************** Update Password ************************************* -->
25
-
26
- <a href="#" onclick="var state = document.getElementById('password_hide_show').style.display;
27
- if (state == 'block') {
28
- document.getElementById('password_hide_show').style.display = 'none';
29
- } else {
30
- document.getElementById('password_hide_show').style.display = 'block';
31
- }
32
- return false;
33
- "><h2 style="border-width: 0px 0px 1px; border-style: solid;">Password</h2></a>
34
-
35
- <div id="password_hide_show" style="display: none;">
36
- <%= render :partial => '/password_form' %>
18
+ <div id="userInformation" class="panel-collapse collapse in">
19
+ <div class="panel-body">
20
+ <%= render :partial => '/user_information_form' %>
21
+ </div>
37
22
  </div>
38
-
39
- <!-- *************************************** Update Contact Information ************************************* -->
40
-
41
- <a href="#" onclick="var state = document.getElementById('contact_info_hide_show').style.display;
42
- if (state == 'block') {
43
- document.getElementById('contact_info_hide_show').style.display = 'none';
44
- } else {
45
- document.getElementById('contact_info_hide_show').style.display = 'block';
46
- }
47
- return false;
48
- "><h2 style="border-width: 0px 0px 1px; border-style: solid;">Contact Information</h2></a>
49
-
50
- <div id="contact_info_hide_show" style="display: none;">
51
- <%= render :partial => '/contact_information_form' %>
23
+ </div>
24
+ <div class="panel panel-default">
25
+ <div class="panel-heading">
26
+ <h4 class="panel-title">
27
+ <a data-toggle="collapse" data-parent="#accordion" href="#password">
28
+ Password
29
+ </a>
30
+ </h4>
31
+ </div>
32
+ <div id="password" class="panel-collapse collapse">
33
+ <div class="panel-body">
34
+ <%= render :partial => '/password_form' %>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ <div class="panel panel-default">
39
+ <div class="panel-heading">
40
+ <h4 class="panel-title">
41
+ <a data-toggle="collapse" data-parent="#accordion" href="#contactInformation">
42
+ Contact Information
43
+ </a>
44
+ </h4>
45
+ </div>
46
+ <div id="contactInformation" class="panel-collapse collapse">
47
+ <div class="panel-body">
48
+ <%= render :partial => '/contact_information_form' %>
49
+ </div>
52
50
  </div>
53
51
  </div>
54
52
  </div>
@@ -1 +1,3 @@
1
- <%= render_widget :manage_profile %>
1
+ <div class="container" style="margin-top:10px;">
2
+ <%= render_widget :manage_profile %>
3
+ </div>
@@ -0,0 +1,5 @@
1
+ <div class="alert alert-success">
2
+ <strong>Success!</strong>
3
+ <%= @message %>
4
+ <button type="button" class="close" data-dismiss="alert">&times;</button>
5
+ </div>
@@ -1,32 +1,37 @@
1
- <div id="<%=widget_result_id%>"></div>
2
- <div>
3
- <%= form_tag '/users/reset_password', :remote => true, :id => 'reset_password_form' do %>
4
- <div class="form_settings">
5
- <p>
6
- <span style="width:175px">Email Address</span>
7
- <%= text_field_tag "login"%>
8
- </p>
9
- <input type="hidden" name="login_url" value="<%=@login_url%>" />
10
- <input type="hidden" name="domain" value="<%=@domain%>" />
11
- <p style="padding-top: 15px">
12
- <span style="width:175px">&nbsp;</span>
13
- <%= submit_tag "Reset", :disable_with => "Please wait...", :class => "submit", :style => 'margin: 0 0 0 0px;'%>
14
- </p>
15
- </div>
16
- <% end %>
17
- </div>
18
- <script type="text/javascript">
19
- jQuery('#reset_password_form').bind('ajaxComplete', function(e, xhr, settings){
20
- var response = jQuery.parseJSON(xhr.responseText);
21
- if(response.success){
22
- jQuery('#<%=widget_result_id%>').html('<div class="sexynotice">'+response.message+'</div>');
23
- }
24
- else{
25
- jQuery('#<%=widget_result_id%>').html('<div class="sexyerror">'+response.message+'</div>');
26
- }
27
- });
28
- </script>
1
+ <div style="width:500px;" id="<%= widget_result_id %>"></div>
2
+ <%= form_tag '/users/reset_password', :remote => true, :id => 'reset_password_form', :class => "form-signin", :style => 'max-width: 500px;' do %>
3
+ <input name="login" type="text" class="form-control" placeholder="Username / Email Address" required autofocus>
4
+ <br/>
29
5
 
6
+ <p class="text-center">
7
+ <button class="btn btn-lg btn-primary btn-block" type="submit">Submit</button>
8
+ <%= link_to 'Cancel', 'home' %>
9
+ </p>
10
+ <input type="hidden" name="login_url" value="<%= @login_url %>"/>
11
+ <input type="hidden" name="domain" value="<%= @domain %>"/>
12
+ <% end %>
30
13
 
14
+ <script type="text/javascript">
15
+ jQuery('#reset_password_form').bind('ajax:success', function (e, response) {
16
+ var html = '';
31
17
 
18
+ if (response.success) {
19
+ html = [
20
+ '<div class="alert alert-success" >',
21
+ '<button type="button" class="close" data-dismiss="alert">&times;</button>',
22
+ response.message,
23
+ '</div>'
24
+ ].join('');
25
+ }
26
+ else {
27
+ html = [
28
+ '<div class="alert alert-danger" >',
29
+ '<button type="button" class="close" data-dismiss="alert">&times;</button>',
30
+ response.message,
31
+ '</div>'
32
+ ].join('');
33
+ }
32
34
 
35
+ jQuery('#<%=widget_result_id%>').html(html);
36
+ });
37
+ </script>
@@ -1 +1,10 @@
1
- <%= render_widget :reset_password, :params => {:login_url => "/login"}%>
1
+ <div style="margin-top:10px;" class="container">
2
+ <div class="row">
3
+ <div class="col-md-6 col-md-offset-3" style="margin: 0 auto;float:none;">
4
+ <h2><%= @website_section.title %></h2>
5
+
6
+ <%= render_widget :reset_password, :params => {:login_url => "/login"} %>
7
+
8
+ </div>
9
+ </div>
10
+ </div>
@@ -5,40 +5,35 @@ module Widgets
5
5
  include Rails.application.routes.url_helpers
6
6
  include WillPaginate::ActionView
7
7
 
8
- def set_variables
9
- @results_permalink = params[:results_permalink]
10
- @section_permalink = params[:section_permalink]
8
+ def index
9
+ @section_unique_name = params[:section_unique_name]
11
10
  @content_type = params[:content_type]
12
- @per_page = params[:per_page]
13
- @css_class = params[:class]
11
+ @search_url = params[:search_url]
12
+ @per_page = params[:per_page] || 10
13
+ @redirect_results = params[:redirect_results] || false
14
+ @inline = params[:inline]
15
+ @results = nil
14
16
 
15
- if @results_permalink.nil? or @results_permalink.blank?
16
- @ajax_results = true
17
- else
18
- @ajax_results = false
17
+ if params[:query].present?
18
+ query = params[:query].strip
19
+ page = params[:page] || 1
20
+
21
+ @results = self.perform_search(query, @content_type, @section_unique_name, @per_page, page)
19
22
  end
20
- end
21
23
 
22
- def index
23
- set_variables
24
24
  render
25
25
  end
26
26
 
27
- def new
28
- set_variables
29
- @website = Website.find_by_host(request.host_with_port)
27
+ def search
28
+ @query = params[:query].strip
29
+ @content_type = params[:content_type]
30
+ @section_unique_name = params[:section_unique_name]
31
+ @per_page = params[:per_page]
32
+ page = params[:page] || 1
30
33
 
31
- options = {
32
- :website_id => @website.id,
33
- :query => params[:query],
34
- :content_type => params[:content_type],
35
- :section_permalink => params[:section_permalink],
36
- :page => (params[:page] || 1),
37
- :per_page => (params[:per_page] || 20)
38
- }
39
- @results = Content.do_search(options)
34
+ @results = self.perform_search(@query, @content_type, @section_unique_name, @per_page, page)
40
35
 
41
- if @ajax_results
36
+ if request.xhr?
42
37
  render :update => {:id => "#{@uuid}_result", :view => :show}
43
38
  else
44
39
  render :view => :show
@@ -70,6 +65,23 @@ module Widgets
70
65
  end
71
66
  end
72
67
 
68
+ protected
69
+
70
+ def perform_search(query, content_type, section_unique_name, per_page, page)
71
+ website = Website.find_by_host(request.host_with_port)
72
+
73
+ options = {
74
+ :website_id => website.id,
75
+ :section_unique_name => section_unique_name,
76
+ :query => query,
77
+ :content_type => content_type,
78
+ :page => page,
79
+ :per_page => per_page
80
+ }
81
+
82
+ Content.do_search(options)
83
+ end
84
+
73
85
  end
74
86
  end
75
87
  end
@@ -0,0 +1,12 @@
1
+ <%= form_tag @search_url, :class => "form-inline" do %>
2
+ <div class="form-group">
3
+ <%= label_tag :search_for, 'Search For', :class => "sr-only" %>
4
+ <%= text_field_tag :query, @query, class: 'form-control', required: true %>
5
+ </div>
6
+
7
+ <%= hidden_field_tag :section_unique_name, @section_unique_name %>
8
+ <%= hidden_field_tag :content_type, @content_type %>
9
+ <%= hidden_field_tag :per_page, @per_page %>
10
+
11
+ <%= submit_tag "Search", :disable_with => "Please wait...", :class => "btn btn-primary submit" %>
12
+ <% end %>
@@ -0,0 +1,41 @@
1
+ <%= form_tag (@redirect_results ? @search_url : build_widget_url(:search)), :remote => !@redirect_results do %>
2
+ <div class="form-group">
3
+ <%= label_tag :search_for, 'Search For' %>
4
+ <%= text_field_tag :query, @query, class: 'form-control', required: true %>
5
+ </div>
6
+
7
+ <%= hidden_field_tag :section_unique_name, @section_unique_name %>
8
+ <%= hidden_field_tag :content_type, @content_type %>
9
+ <%= hidden_field_tag :per_page, @per_page %>
10
+
11
+ <p class="form-group">
12
+ <%= submit_tag "Search", :disable_with => "Please wait...", :class => "btn btn-primary submit" %>
13
+ </p>
14
+ <% end %>
15
+ <br/>
16
+ <div id="<%= widget_result_id %>">
17
+ <% if @results %>
18
+ <% @results.each do |r| %>
19
+ <p>
20
+ <a href="<%= r[:link] %>"><%= r[:title] %></a><br/>
21
+ <%= sanitize(r[:content].body_html[0..500], :tags => []) unless r[:content].body_html.nil? %><br/>
22
+ </p>
23
+ <% end %>
24
+ <%=
25
+ will_paginate @results,
26
+ :renderer => Knitkit::Extensions::WillPaginate::LinkRenderer,
27
+ :params => {
28
+ :widget_name => 'search',
29
+ :widget_action => 'search',
30
+ :uuid => @uuid,
31
+ :query => @query,
32
+ :content_type => @content_type,
33
+ :section_unique_name => @section_unique_name,
34
+ :per_page => @per_page,
35
+ :controller => 'erp_app/widget_proxy',
36
+ :only_path => true,
37
+ :scope => erp_app
38
+ }
39
+ %>
40
+ <% end %>
41
+ </div>
@@ -1,3 +1,5 @@
1
- <p>
2
- <%=render :partial => '/search' %>
3
- </p>
1
+ <% if @inline %>
2
+ <%= render :partial => 'inline_search_form' %>
3
+ <% else %>
4
+ <%= render :partial => 'search_form' %>
5
+ <% end %>
@@ -1,24 +1,14 @@
1
- <h2><%=h @website_section.title %></h2>
1
+ <div style="margin-top:10px;" class="container">
2
+ <h2><%= @website_section.title %></h2>
2
3
 
3
- <% @contents.each do |content| %>
4
- <%=raw content.body_html %>
5
- <% end %>
6
-
7
- <% #Optional Parameters:
8
- # content_type: Leave blank to search all section types, set to Blog to only search Blog articles
9
- # section_permalink: This is the permalink value for the section
10
- # Useful if you only want to search articles within a single Blog section
11
- # results_permalink: How do you want your results to display? via ajax? or on a new page?
12
- # Leave blank if you want results to display via ajax on the same page as the search form
13
- # Enter the permalink of results page if you want the search results to display on a new page
14
- # per_page: Number of results per page
15
- # class: CSS class for the form %>
16
- <%= render_widget :search,
17
- :action => get_widget_action,
18
- :params => set_widget_params({
19
- :content_type => '',
20
- :section_permalink => '',
21
- :results_permalink => '',
22
- :per_page => 20,
23
- :class => ''
24
- }) %>
4
+ <% #Optional Parameters:
5
+ # content_type: Leave blank to search all section types, set to Blog to only search Blog articles
6
+ # section_unique_name: Leave blank to search all pages if passed will confine search to a particular
7
+ # pages content
8
+ # search_url: Main search url, only needed if results are being redirected
9
+ # redirect_results: If true will redirect to search page to display results. Used for inline search
10
+ # boxes
11
+ # per_page: Number of results per page
12
+ %>
13
+ <%= render_widget :search %>
14
+ </div>