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,5 +0,0 @@
1
- <div>
2
- <h1>An Error Occurred</h1>
3
- <%= message unless message.nil? %>
4
-
5
- </div>
@@ -1,8 +0,0 @@
1
- <div id="<%=widget_result_id %>"></div>
2
-
3
- <%=raw render_dynamic_form(params[:model_name], {
4
- :internal_identifier => params[:internal_identifier],
5
- :width => (params[:width] ? params[:width].to_i : nil)
6
- }) %>
7
-
8
- <div id="dynamic_form_target"></div>
@@ -1,4 +0,0 @@
1
- <div>
2
- <h1>Thank you.</h1>
3
- <p>Your form has been processed successfully.</p>
4
- </div>
@@ -1,130 +0,0 @@
1
- module Widgets
2
- module DynamicGrid
3
- class Base < ErpApp::Widgets::Base
4
-
5
- def index
6
- @model_name = params[:model_name]
7
- @title = params[:grid][:title] || params[:model].pluralize
8
- @width = params[:grid][:width] || '100%'
9
- @height = params[:grid][:height] || 500
10
- @page = params[:grid][:page] || true
11
- @page_size = params[:grid][:page_size] || 10
12
- @display_msg = params[:grid][:display_msg] || 'Displaying {0} - {1} of {2}'
13
- @empty_msg = params[:grid][:empty_msg] || 'Empty'
14
-
15
- render :view => :index
16
- end
17
-
18
- def setup
19
- begin
20
- form = DynamicForm.get_form(params[:model_name])
21
- raise "No Default Form found for this model." if form.nil?
22
- definition = form.definition_object
23
-
24
- columns = []
25
- definition.each do |field_hash|
26
- if field_hash[:display_in_grid]
27
- # for some reason grid column widths are greater than form field widths
28
- field_hash[:width] = (field_hash[:width].to_f * 0.56).round.to_i unless field_hash[:width].nil?
29
- columns << DynamicGridColumn.build_column(field_hash)
30
- end
31
- end
32
-
33
- columns << DynamicGridColumn.build_column({ :fieldLabel => "Created By", :name => 'created_username', :xtype => 'textfield', :width => 100 })
34
- columns << DynamicGridColumn.build_column({ :fieldLabel => "Created At", :name => 'created_at', :xtype => 'datefield', :width => 115 })
35
- columns << DynamicGridColumn.build_column({ :fieldLabel => "Updated By", :name => 'updated_username', :xtype => 'textfield', :width => 100 })
36
- columns << DynamicGridColumn.build_column({ :fieldLabel => "Updated At", :name => 'updated_at', :xtype => 'datefield', :width => 115 })
37
-
38
- definition << DynamicFormField.textfield({ :fieldLabel => "Created By", :name => 'created_username' })
39
- definition << DynamicFormField.datefield({ :fieldLabel => "Created At", :name => 'created_at' })
40
- definition << DynamicFormField.textfield({ :fieldLabel => "Updated By", :name => 'updated_username' })
41
- definition << DynamicFormField.datefield({ :fieldLabel => "Updated At", :name => 'updated_at' })
42
- definition << DynamicFormField.hiddenfield({ :fieldLabel => "ID", :name => 'id' })
43
- definition << DynamicFormField.hiddenfield({ :fieldLabel => "Form ID", :name => 'form_id' })
44
- definition << DynamicFormField.hiddenfield({ :fieldLabel => "Model Name", :name => 'model_name' })
45
-
46
- render :inline => "{
47
- \"success\": true,
48
- \"use_ext_forms\":false,
49
- \"inline_edit\":false,
50
- \"columns\": [#{columns.join(',')}],
51
- \"fields\": #{definition.to_json}
52
- }"
53
-
54
- rescue Exception => e
55
- Rails.logger.error e.message
56
- Rails.logger.error e.backtrace.join("\n")
57
- render :inline => {
58
- :success => false,
59
- :message => e.message
60
- }.to_json
61
- end
62
- end
63
-
64
- def data
65
- begin
66
- sort = (params[:sort] || 'created_at').downcase
67
- dir = (params[:dir] || 'desc').downcase
68
- page = params[:page]
69
- per_page = params[:per_page]
70
-
71
- query_filter = params[:query_filter].strip rescue nil
72
-
73
- myDynamicObject = DynamicFormModel.get_constant(params[:model_name])
74
-
75
- if $USE_SOLR_FOR_DYNAMIC_FORM_MODELS and myDynamicObject.is_searchable?
76
- solr_search_results = myDynamicObject.search do
77
- keywords query_filter unless params[:query_filter].blank?
78
- paginate(:page => page, :per_page => per_page)
79
- order_by(sort.to_sym, dir.to_sym)
80
- end
81
- dynamic_records = solr_search_results.results
82
- else
83
- dynamic_records = myDynamicObject.paginate(:page => page, :per_page => per_page, :order => "#{sort} #{dir}")
84
- dynamic_records = dynamic_records.joins(:dynamic_data).where("UPPER(dynamic_data.dynamic_attributes) LIKE UPPER('%#{query_filter}%')") unless params[:query_filter].blank?
85
- end
86
-
87
- related_fields = dynamic_records.first.form.related_fields rescue []
88
-
89
- wi = []
90
- dynamic_records.each do |i|
91
- wihash = i.data.dynamic_attributes_with_related_data(related_fields, false)
92
- wihash[:id] = i.id
93
- wihash[:created_username] = i.data.created_by.nil? ? '' : i.data.created_by.username
94
- wihash[:updated_username] = i.data.updated_by.nil? ? '' : i.data.updated_by.username
95
- wihash[:created_at] = i.data.created_at.getlocal.strftime("%m/%d/%Y")
96
- wihash[:updated_at] = i.data.updated_at.getlocal.strftime("%m/%d/%Y")
97
- wihash[:form_id] = (i.data.updated_with_form_id ? i.data.updated_with_form_id : i.data.created_with_form_id)
98
- wihash[:model_name] = params[:model_name]
99
- wi << wihash
100
- end
101
-
102
- render :inline => "{ total:#{dynamic_records.total_entries}, data:#{wi.to_json} }"
103
- rescue Exception => e
104
- Rails.logger.error e.message
105
- Rails.logger.error e.backtrace.join("\n")
106
- render :inline => {
107
- :success => false,
108
- :message => e.message
109
- }.to_json
110
- end
111
- end
112
-
113
- #should not be modified
114
- #modify at your own risk
115
- def locate
116
- File.dirname(__FILE__)
117
- end
118
-
119
- class << self
120
- def title
121
- "Dynamic Grid"
122
- end
123
-
124
- def widget_name
125
- File.basename(File.dirname(__FILE__))
126
- end
127
- end
128
- end#Base
129
- end#DynamicGrid
130
- end#Widgets
@@ -1,3 +0,0 @@
1
- module DynamicGridControllerHelper
2
- #add helper methods for you engines controller
3
- end
@@ -1,3 +0,0 @@
1
- module DynamicGridViewHelper
2
- #add helper methods for your engines views
3
- end
@@ -1,177 +0,0 @@
1
- Compass.ErpApp.Widgets.DynamicGrid = {
2
- template: new Ext.XTemplate("<%= render_widget :dynamic_grid, :params => {:model_name => '{model_name}',\n",
3
- " :grid => {\n",
4
- " :title => '{title}',\n",
5
- " :width => {width},\n",
6
- " :height => {height},\n",
7
- " :page => {page_results:this.toBoolean},\n",
8
- " :page_size => {pageSize},\n",
9
- " :display_msg => '{displayMsg}',\n",
10
- " :empty_msg => '{emptyMsg}'\n",
11
- " }\n",
12
- "} %>",
13
- {
14
- toBoolean: function (value) {
15
- var result = 'false';
16
- if (value == 'y') {
17
- result = 'true';
18
- }
19
- return result;
20
- }
21
- }),
22
-
23
- addWidget: function () {
24
- Ext.create("Ext.window.Window", {
25
- title: 'Add Dynamic Grid',
26
- plain: true,
27
- buttonAlign: 'center',
28
- items: Ext.create("Ext.form.Panel", {
29
- labelWidth: 100,
30
- frame: false,
31
- bodyStyle: 'padding:5px 5px 0',
32
- defaults: {
33
- width: 325
34
- },
35
- items: [
36
- {
37
- xtype: 'combo',
38
- width:300,
39
- value: '',
40
- loadingText: 'Retrieving Dynamic Form Models ...',
41
- store: Ext.create('Ext.data.Store', {
42
- proxy: {
43
- type: 'ajax',
44
- reader: {
45
- type: 'json',
46
- root: 'dynamic_form_model'
47
- },
48
- url: '/erp_forms/erp_app/desktop/dynamic_forms/models/index'
49
- },
50
- fields: [
51
- {
52
- name: 'id'
53
- },
54
- {
55
- name: 'model_name'
56
- }
57
- ]
58
- }),
59
- forceSelection: true,
60
- editable: true,
61
- fieldLabel: 'Model Name',
62
- autoSelect: true,
63
- mode: 'remote',
64
- name: 'model_name',
65
- displayField: 'model_name',
66
- valueField: 'model_name',
67
- triggerAction: 'all',
68
- allowBlank: false,
69
- plugins: [new helpQtip("Dynamic Form Model Name (Class)")],
70
- listeners: {
71
- select: function () {
72
- this.up('form').down('fieldset').enable();
73
- }
74
- }
75
- },
76
- {
77
- xtype: 'fieldset',
78
- title: 'Grid Options',
79
- disabled: true,
80
- items: [
81
- {
82
- xtype: 'textfield',
83
- name: 'title',
84
- fieldLabel: 'Title'
85
- },
86
- {
87
- xtype: 'textfield',
88
- name: 'width',
89
- value: 500,
90
- fieldLabel: 'Width'
91
- },
92
- {
93
- xtype: 'textfield',
94
- name: 'height',
95
- value: 500,
96
- fieldLabel: 'Height'
97
- },
98
- {
99
- xtype: 'fieldcontainer',
100
- defaultType: 'radiofield',
101
- width: 200,
102
- defaults: {
103
- flex: 1
104
- },
105
- layout: 'hbox',
106
- fieldLabel: 'Page Results',
107
- toolTip: 'Page results.',
108
- items: [
109
- {
110
- boxLabel: 'Yes',
111
- name: 'page_results',
112
- checked: true,
113
- inputValue: 'y'
114
- },
115
- {
116
- boxLabel: 'No',
117
- name: 'page_results',
118
- inputValue: 'n'
119
- }
120
- ]
121
- },
122
- {
123
- xtype: 'textfield',
124
- name: 'pageSize',
125
- value: 20,
126
- fieldLabel: 'Rows per Page'
127
- },
128
- {
129
- xtype: 'textfield',
130
- name: 'displayMsg',
131
- value: 'Displaying {0} - {1} of {2}',
132
- fieldLabel: 'Paging Display Message'
133
- },
134
- {
135
- xtype: 'textfield',
136
- name: 'emptyMsg',
137
- value: 'Empty',
138
- fieldLabel: 'Empty Message'
139
- }
140
- ]
141
- }
142
- ]
143
- }),
144
- buttons: [
145
- {
146
- text:'Submit',
147
- listeners:{
148
- 'click':function (button) {
149
- var window = button.findParentByType('window'),
150
- formPanel = window.query('form')[0],
151
- grid = formPanel.down('grid'),
152
- basicForm = formPanel.getForm(),
153
- values = basicForm.getValues();
154
-
155
- //add rendered template to center region editor
156
- Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(Compass.ErpApp.Widgets.DynamicGrid.template.apply(values));
157
- button.up('window').close();
158
- }
159
- }
160
- },
161
- {
162
- text: 'Close',
163
- handler: function (btn) {
164
- btn.up('window').close();
165
- }
166
- }
167
- ]
168
- }).show();
169
- }
170
- }
171
-
172
- Compass.ErpApp.Widgets.AvailableWidgets.push({
173
- name: 'Dynamic Grid',
174
- iconUrl: '/images/icons/grid/grid_48x48.png',
175
- onClick: Compass.ErpApp.Widgets.DynamicGrid.addWidget,
176
- about: 'Add grid for dynamic model'
177
- });
@@ -1,14 +0,0 @@
1
- <div id="dynamicGrid_<%=@uuid%>"></div>
2
-
3
- <%=
4
- dynamic_extjs_grid(:renderTo => "dynamicGrid_#{@uuid}",
5
- :title => @title,
6
- :setupUrl => build_widget_url('setup', nil, {:model_name => @model_name}),
7
- :dataUrl => build_widget_url('data', nil, {:model_name => @model_name}),
8
- :width => @width,
9
- :height => @height,
10
- :page => @page_results,
11
- :pageSize => @page_size,
12
- :displayMsg => @display_msg,
13
- :emptyMsg => @empty_msg)
14
- %>
@@ -1,26 +0,0 @@
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">Username or Email Address</span>
7
- <%= text_field_tag "login"%>
8
- </p>
9
- <input type="hidden" name="login_url" value="<%=@login_url%>" />
10
- <p style="padding-top: 15px">
11
- <span style="width:175px">&nbsp;</span>
12
- <%= submit_tag "Reset", :disable_with => "Please wait...", :class => "submit", :style => 'margin:0px;'%>
13
- </p>
14
- </div>
15
- <% end %>
16
- </div>
17
- <script type="text/javascript">
18
- jQuery('#login_form').bind('ajaxComplete', function(e, xhr, settings){
19
- var response = jQuery.parseJSON(xhr.responseText);
20
- jQuery('#<%=widget_result_id%>').html('<div class="sexyerror">'+response.message+'</div>');
21
- });
22
- </script>
23
-
24
-
25
-
26
-
@@ -1,5 +0,0 @@
1
- <div>
2
- <h1>Error</h1>
3
- <p>You must select a contact type for a new contact</p>
4
- <%= @test %>
5
- </div>
@@ -1,87 +0,0 @@
1
- module Widgets
2
- module Scaffold
3
- class Base < ErpApp::Widgets::Base
4
- def index
5
- @model_name = params[:model]
6
- @title = params[:grid][:title] || params[:model].pluralize
7
- @width = params[:grid][:width] || '100%'
8
- @height = params[:grid][:height] || 500
9
- @page = params[:grid][:page] || true
10
- @page_size = params[:grid][:page_size] || 10
11
- @display_msg = params[:grid][:display_msg] || 'Displaying {0} - {1} of {2}'
12
- @empty_msg = params[:grid][:empty_msg] || 'Empty'
13
- @editable = params[:editable] || false
14
-
15
- render :view => :index
16
- end
17
-
18
- def setup
19
- active_ext_core = setup_active_ext_core
20
-
21
- columns, fields, validations = ActiveExt::ExtHelpers::TableBuilder.generate_columns_and_fields(active_ext_core)
22
- result = {
23
- :success => true,
24
- :use_ext_forms => active_ext_core.options[:use_ext_forms].nil? ? false : active_ext_core.options[:use_ext_forms],
25
- :inline_edit => active_ext_core.options[:inline_edit].nil? ? false : active_ext_core.options[:inline_edit],
26
- :columns => columns,
27
- :fields => fields,
28
- :validations => validations
29
- }
30
- render :inline => result.to_json
31
- end
32
-
33
- def data
34
- active_ext_core = setup_active_ext_core
35
-
36
- json_text = nil
37
-
38
- if request.get?
39
- json_text = ActiveExt::ExtHelpers::DataHelper.build_json_data(active_ext_core, :limit => params[:limit], :offset => params[:start])
40
- elsif request.post?
41
- json_text = ActiveExt::ExtHelpers::DataHelper.create_record(active_ext_core, :data => params[:data])
42
- elsif request.put?
43
- json_text = ActiveExt::ExtHelpers::DataHelper.update_record(active_ext_core, :data => params[:data], :id => params[:data][:id])
44
- elsif request.delete?
45
- json_text = ActiveExt::ExtHelpers::DataHelper.delete_record(active_ext_core, :data => params[:data], :id => params[:data][:id])
46
- end
47
-
48
- render :inline => json_text
49
- end
50
-
51
- def setup_active_ext_core
52
- model_id = session[:widgets][self.uuid][:model].pluralize.singularize
53
- options = {
54
- :inline_edit => true,
55
- :use_ext_forms => false,
56
- :ignore_associations => true,
57
- :show_id => true,
58
- :show_timestamps => true,
59
- :only => nil
60
- }
61
-
62
- #merge in passed widget options
63
- options.each do |key, value|
64
- options[key] = session[:widgets][self.uuid][:scaffold][key] unless session[:widgets][self.uuid][:scaffold][key].blank?
65
- end
66
-
67
- ActiveExt::Core.new(model_id,options)
68
- end
69
-
70
- #should not be modified
71
- #modify at your own risk
72
- def locate
73
- File.dirname(__FILE__)
74
- end
75
-
76
- class << self
77
- def title
78
- "CompassAE Scaffold"
79
- end
80
-
81
- def widget_name
82
- File.basename(File.dirname(__FILE__))
83
- end
84
- end
85
- end#Base
86
- end#Scaffold
87
- end#Widgets