knitkit 2.1.15 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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>