knitkit 2.1.15 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/controllers/knitkit/base_controller.rb +1 -1
- data/app/controllers/knitkit/comments_controller.rb +7 -2
- data/app/controllers/knitkit/erp_app/desktop/app_controller.rb +78 -98
- data/app/controllers/knitkit/erp_app/desktop/articles_controller.rb +65 -45
- data/app/controllers/knitkit/erp_app/desktop/content_controller.rb +22 -12
- data/app/controllers/knitkit/erp_app/desktop/file_assets_controller.rb +1 -1
- data/app/controllers/knitkit/erp_app/desktop/image_assets_controller.rb +28 -16
- data/app/controllers/knitkit/erp_app/desktop/inquiries_controller.rb +15 -49
- data/app/controllers/knitkit/erp_app/desktop/online_document_sections_controller.rb +4 -3
- data/app/controllers/knitkit/erp_app/desktop/position_controller.rb +69 -11
- data/app/controllers/knitkit/erp_app/desktop/theme_controller.rb +63 -60
- data/app/controllers/knitkit/erp_app/desktop/website_controller.rb +98 -82
- data/app/controllers/knitkit/erp_app/desktop/website_host_controller.rb +77 -0
- data/app/controllers/knitkit/erp_app/desktop/website_nav_controller.rb +64 -44
- data/app/controllers/knitkit/erp_app/desktop/website_nav_item_controller.rb +147 -0
- data/app/controllers/knitkit/erp_app/desktop/website_section_controller.rb +81 -45
- data/app/controllers/knitkit/mobile_controller.rb +15 -0
- data/app/controllers/knitkit/online_document_sections_controller.rb +2 -1
- data/app/controllers/knitkit/unauthorized_controller.rb +0 -1
- data/app/controllers/knitkit/website_sections_controller.rb +7 -4
- data/app/mailers/website_inquiry_mailer.rb +8 -7
- data/app/models/content.rb +11 -2
- data/app/models/document.rb +2 -17
- data/app/models/published_website.rb +96 -59
- data/app/models/theme.rb +100 -14
- data/app/models/website.rb +260 -28
- data/app/models/website_inquiry.rb +5 -12
- data/app/models/website_section.rb +9 -1
- data/app/views/knitkit/blogs/_add_comment.html.erb +44 -23
- data/app/views/knitkit/blogs/_comment.html.erb +4 -6
- data/app/views/knitkit/blogs/index.html.erb +63 -49
- data/app/views/knitkit/blogs/show.html.erb +17 -12
- data/app/views/knitkit/mobile/index.html.erb +162 -0
- data/app/views/knitkit/online_document_sections/index.html.erb +7 -5
- data/app/views/knitkit/unauthorized/index.html.erb +8 -4
- data/app/views/knitkit/website_sections/index.html.erb +8 -4
- data/app/views/layouts/knitkit/base.html.erb +79 -63
- data/app/views/layouts/knitkit/online_document_sections.html.erb +74 -52
- data/app/views/menus/knitkit/_default_menu.html.erb +4 -4
- data/app/views/menus/knitkit/_default_section_menu.html.erb +22 -23
- data/app/views/shared/knitkit/_bread_crumb.html.erb +10 -7
- data/app/views/shared/knitkit/_footer.html.erb +2 -2
- data/app/views/website_inquiry_mailer/inquiry.erb +23 -2
- data/app/widgets/contact_us/base.rb +25 -50
- data/app/widgets/contact_us/javascript/contact_us.js +7 -7
- data/app/widgets/contact_us/views/error.html.erb +6 -8
- data/app/widgets/contact_us/views/index.html.erb +28 -1
- data/app/widgets/contact_us/views/layouts/base.html.erb +9 -6
- data/app/widgets/contact_us/views/success.html.erb +3 -3
- data/app/widgets/google_map/views/index.html.erb +36 -36
- data/app/widgets/login/base.rb +1 -0
- data/app/widgets/login/javascript/login.js +3 -3
- data/app/widgets/login/views/index.html.erb +46 -26
- data/app/widgets/login/views/layouts/base.html.erb +15 -13
- data/app/widgets/login/views/login_header.html.erb +7 -9
- data/app/widgets/manage_profile/base.rb +116 -164
- data/app/widgets/manage_profile/views/_address.html.erb +184 -0
- data/app/widgets/manage_profile/views/_contact_information_form.html.erb +23 -192
- data/app/widgets/manage_profile/views/_email_address.html.erb +163 -0
- data/app/widgets/manage_profile/views/_password_form.html.erb +23 -20
- data/app/widgets/manage_profile/views/_phone_number.html.erb +165 -0
- data/app/widgets/manage_profile/views/_user_information_form.html.erb +49 -33
- data/app/widgets/manage_profile/views/error.html.erb +6 -0
- data/app/widgets/manage_profile/views/index.html.erb +44 -46
- data/app/widgets/manage_profile/views/layouts/base.html.erb +3 -1
- data/app/widgets/manage_profile/views/success.html.erb +5 -0
- data/app/widgets/reset_password/views/index.html.erb +33 -28
- data/app/widgets/reset_password/views/layouts/base.html.erb +10 -1
- data/app/widgets/search/base.rb +37 -25
- data/app/widgets/search/views/_inline_search_form.html.erb +12 -0
- data/app/widgets/search/views/_search_form.html.erb +41 -0
- data/app/widgets/search/views/index.html.erb +5 -3
- data/app/widgets/search/views/layouts/base.html.erb +13 -23
- data/app/widgets/search/views/show.html.erb +32 -47
- data/app/widgets/signup/base.rb +1 -1
- data/app/widgets/signup/javascript/signup.js +7 -9
- data/app/widgets/signup/views/_signup_form.html.erb +34 -29
- data/app/widgets/signup/views/error.html.erb +11 -11
- data/app/widgets/signup/views/index.html.erb +3 -2
- data/app/widgets/signup/views/layouts/base.html.erb +8 -5
- data/app/widgets/signup/views/success.html.erb +5 -4
- data/config/routes.rb +39 -28
- data/db/data_migrations/20120809020508_update_website_and_configuration.rb +3 -0
- data/db/migrate/20110211002317_setup_knitkit.rb +0 -1
- data/db/migrate/20131112013052_add_knitkit_missing_indexes.rb +33 -0
- data/db/migrate/20140622212723_update_website_inquiries.rb +22 -0
- data/db/migrate/20140911185022_add_publishing_to_website.rb +5 -0
- data/db/migrate/20141013073349_add_custom_fields_to_documents.rb +12 -0
- data/db/migrate/20141016101936_upgrade_remove_dynamic_attributes.rb +13 -0
- data/lib/knitkit.rb +0 -1
- data/lib/knitkit/engine.rb +1 -0
- data/lib/knitkit/extensions.rb +4 -0
- data/lib/knitkit/extensions/active_record/acts_as_commentable.rb +33 -0
- data/lib/knitkit/extensions/active_record/acts_as_document.rb +0 -12
- data/lib/knitkit/extensions/active_record/acts_as_publishable.rb +7 -10
- data/lib/knitkit/extensions/compass_ae/widgets/base.rb +2 -4
- data/lib/knitkit/extensions/compass_ae/widgets/widget_proxy_controller.rb +4 -1
- data/lib/knitkit/extensions/railties/action_view/helpers/blog_helper.rb +16 -13
- data/lib/knitkit/extensions/railties/action_view/helpers/content_helper.rb +10 -8
- data/lib/knitkit/extensions/railties/theme_support/asset_tag_helper.rb +123 -108
- data/lib/knitkit/extensions/will_paginate/link_renderer.rb +67 -0
- data/lib/knitkit/routing_filter/section_router.rb +10 -8
- data/lib/knitkit/syntax_validator.rb +2 -2
- data/lib/knitkit/version.rb +7 -3
- data/public/images/inline_edit/close.png +0 -0
- data/public/images/knitkit/close_window.png +0 -0
- data/public/images/knitkit/logo.png +0 -0
- data/public/images/knitkit/splash/images/add-site.png +0 -0
- data/public/images/knitkit/splash/images/adjust-site.png +0 -0
- data/public/images/knitkit/splash/images/browse-site.png +0 -0
- data/public/images/knitkit/splash/images/find-themes.png +0 -0
- data/public/images/knitkit/splash/images/settings.png +0 -0
- data/public/images/knitkit/splash/images/tutorials.png +0 -0
- data/public/images/knitkit/splash/splash.png +0 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/articles_grid_panel.js +656 -627
- data/public/javascripts/erp_app/desktop/applications/knitkit/center_region.js +444 -333
- data/public/javascripts/erp_app/desktop/applications/knitkit/{east_region.js → east_region/east_region.js} +33 -33
- data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/file_assets_panel.js +332 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_data_view.js +144 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_panel.js +335 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/{widgets_panel.js → east_region/widgets_panel.js} +55 -55
- data/public/javascripts/erp_app/desktop/applications/knitkit/inquiries_grid_panel.js +150 -37
- data/public/javascripts/erp_app/desktop/applications/knitkit/module.js +228 -96
- data/public/javascripts/erp_app/desktop/applications/knitkit/publish_window.js +89 -85
- data/public/javascripts/erp_app/desktop/applications/knitkit/published_grid_panel.js +238 -217
- data/public/javascripts/erp_app/desktop/applications/knitkit/select_roles_window.js +59 -54
- data/public/javascripts/erp_app/desktop/applications/knitkit/splash_screen.js +170 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/top_menu/main_menu.js +1168 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/top_menu/websites_combo.js +71 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/versions_grid_panel.js +301 -306
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/article.js +216 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/document.js +182 -153
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/host.js +48 -65
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/menu.js +93 -94
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/section.js +523 -197
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website_nav_items.js +20 -34
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/hosts_tree_panel.js +74 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/menu_tree_panel.js +245 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/site_contents_tree_panel.js +360 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/themes_tree_panel.js +348 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/west_region.js +106 -1132
- data/public/javascripts/knitkit/bootstrap-datepicker.js +474 -0
- data/public/javascripts/knitkit/bootstrap.min.js +7 -0
- data/public/javascripts/knitkit/confirm-bootstrap.js +110 -0
- data/public/javascripts/knitkit/inline_editing.js +73 -50
- data/public/javascripts/knitkit/jquery.maskedinput.min.js +7 -0
- data/public/javascripts/knitkit/mobile/app/view/Main.js +108 -0
- data/public/javascripts/knitkit/mobile/ux/slidenavigation/View.js +734 -0
- data/public/javascripts/knitkit/theme.js +76 -0
- data/public/stylesheets/erp_app/desktop/applications/knitkit/knitkit.css +95 -35
- data/public/stylesheets/knitkit/bootstrap-responsive.min.css +10 -0
- data/public/stylesheets/knitkit/bootstrap.min.css +7 -0
- data/public/stylesheets/knitkit/custom.css +122 -0
- data/public/stylesheets/knitkit/datepicker.css +182 -0
- data/public/stylesheets/knitkit/inline_editing.css +58 -58
- data/spec/controllers/knitkit/erp_app/desktop/website_section_controller_spec.rb +1 -1
- data/spec/dummy/config/application.rb +1 -1
- data/spec/models/article_spec.rb +3 -3
- data/spec/models/content_spec.rb +9 -9
- data/spec/models/website_spec.rb +1 -1
- metadata +100 -114
- data/app/helpers/application_helper.rb +0 -134
- data/app/views/knitkit/articles/index.html.erb +0 -3
- data/app/views/knitkit/articles/show.html.erb +0 -4
- data/app/views/menus/knitkit/_default_sub_menu.html.erb +0 -43
- data/app/views/menus/knitkit/_default_sub_section_menu.html.erb +0 -47
- data/app/widgets/contact_us/views/_contact_form.html.erb +0 -36
- data/app/widgets/dynamic_forms/base.rb +0 -139
- data/app/widgets/dynamic_forms/javascript/dynamic_forms.js +0 -110
- data/app/widgets/dynamic_forms/views/error.html.erb +0 -5
- data/app/widgets/dynamic_forms/views/index.html.erb +0 -8
- data/app/widgets/dynamic_forms/views/success.html.erb +0 -4
- data/app/widgets/dynamic_grid/base.rb +0 -130
- data/app/widgets/dynamic_grid/helpers/controller/dynamic_grid_controller_helper.rb +0 -3
- data/app/widgets/dynamic_grid/helpers/view/dynamic_grid_view_helper.rb +0 -3
- data/app/widgets/dynamic_grid/javascript/dynamic_grid.js +0 -177
- data/app/widgets/dynamic_grid/views/index.html.erb +0 -14
- data/app/widgets/login/views/reset_password.html.erb +0 -26
- data/app/widgets/manage_profile/views/default_type_error.html.erb +0 -5
- data/app/widgets/scaffold/base.rb +0 -87
- data/app/widgets/scaffold/helpers/controller/scaffold_controller_helper.rb +0 -3
- data/app/widgets/scaffold/helpers/view/scaffold_view_helper.rb +0 -3
- data/app/widgets/scaffold/javascript/scaffold.js +0 -337
- data/app/widgets/scaffold/views/index.html.erb +0 -15
- data/app/widgets/search/views/_search.html.erb +0 -39
- data/public/images/knitkit/bullet.png +0 -0
- data/public/images/knitkit/close.png +0 -0
- data/public/images/knitkit/content.png +0 -0
- data/public/images/knitkit/footer.png +0 -0
- data/public/images/knitkit/graphic.png +0 -0
- data/public/images/knitkit/greyFadeDown.png +0 -0
- data/public/images/knitkit/link.png +0 -0
- data/public/images/knitkit/menu.png +0 -0
- data/public/images/knitkit/menu_select.png +0 -0
- data/public/images/knitkit/search.png +0 -0
- data/public/images/knitkit/tooltip.gif +0 -0
- data/public/javascripts/ajax_pagination.js +0 -33
- data/public/javascripts/datepicker.js +0 -445
- data/public/javascripts/erp_app/desktop/applications/knitkit/file_assets_panel.js +0 -341
- data/public/javascripts/erp_app/desktop/applications/knitkit/image_assets_data_view.js +0 -31
- data/public/javascripts/erp_app/desktop/applications/knitkit/image_assets_panel.js +0 -263
- data/public/javascripts/erp_app/desktop/applications/knitkit/section_articles_grid_panel.js +0 -722
- data/public/javascripts/erp_app/desktop/applications/knitkit/themes_tree_panel.js +0 -585
- data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website.js +0 -155
- data/public/javascripts/knitkit/helpers.js +0 -26
- data/public/stylesheets/datepicker.css +0 -121
- data/public/stylesheets/extjs/resources/css/knitkit_extjs_4.css +0 -233
- data/public/stylesheets/knitkit/style.css +0 -426
@@ -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,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"> </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,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
|