knitkit 3.0.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{public → app/assets}/images/check.png +0 -0
- data/{public → app/assets}/images/credit_card.png +0 -0
- data/{public → app/assets}/images/inline_edit/close.png +0 -0
- data/{public → app/assets}/images/knitkit/icons/document.png +0 -0
- data/{public → app/assets}/images/knitkit/icons/multi_doc.png +0 -0
- data/{public → app/assets}/images/knitkit/logo.png +0 -0
- data/{public → app/assets}/images/knitkit/splash/images/add-site.png +0 -0
- data/app/assets/images/knitkit/splash/images/add_website_105x105-active.png +0 -0
- data/app/assets/images/knitkit/splash/images/add_website_105x105.png +0 -0
- data/{public → app/assets}/images/knitkit/splash/images/adjust-site.png +0 -0
- data/{public → app/assets}/images/knitkit/splash/images/browse-site.png +0 -0
- data/app/assets/images/knitkit/splash/images/browse_db_105x105-active.png +0 -0
- data/app/assets/images/knitkit/splash/images/browse_db_105x105.png +0 -0
- data/app/assets/images/knitkit/splash/images/console_105x105-active.png +0 -0
- data/app/assets/images/knitkit/splash/images/console_105x105.png +0 -0
- data/{public → app/assets}/images/knitkit/splash/images/find-themes.png +0 -0
- data/app/assets/images/knitkit/splash/images/find_themes_105x105-active.png +0 -0
- data/app/assets/images/knitkit/splash/images/find_themes_105x105.png +0 -0
- data/app/assets/images/knitkit/splash/images/learn_more_105x105-active.png +0 -0
- data/app/assets/images/knitkit/splash/images/learn_more_105x105.png +0 -0
- data/{public → app/assets}/images/knitkit/splash/images/settings.png +0 -0
- data/{public → app/assets}/images/knitkit/splash/images/tutorials.png +0 -0
- data/app/assets/images/knitkit/splash/splash.png +0 -0
- data/app/assets/images/widgets/manage_profile/contact_information.png +0 -0
- data/app/assets/images/widgets/manage_profile/password.png +0 -0
- data/app/assets/images/widgets/manage_profile/user_information.png +0 -0
- data/app/assets/javascripts/erp_app/desktop/applications/knitkit/app.js +24 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/articles_grid_panel.js +15 -12
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/center_region.js +69 -48
- data/app/assets/javascripts/erp_app/desktop/applications/knitkit/comments_grid_panel.js +214 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/east_region/east_region.js +0 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/east_region/file_assets_panel.js +17 -19
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_data_view.js +13 -3
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_panel.js +59 -48
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/east_region/widgets_panel.js +0 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/inquiries_grid_panel.js +2 -2
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/module.js +2 -2
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/publish_window.js +0 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/published_grid_panel.js +1 -1
- data/app/assets/javascripts/erp_app/desktop/applications/knitkit/splash_screen.js +268 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/top_menu/main_menu.js +85 -33
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/top_menu/websites_combo.js +0 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/versions_grid_panel.js +5 -28
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/article.js +22 -8
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/document.js +143 -25
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/host.js +5 -1
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/menu.js +2 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/section.js +181 -65
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website_nav_items.js +0 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/hosts_tree_panel.js +0 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/menu_tree_panel.js +0 -0
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/site_contents_tree_panel.js +121 -116
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/themes_tree_panel.js +101 -10
- data/{public → app/assets}/javascripts/erp_app/desktop/applications/knitkit/west_region/west_region.js +9 -5
- data/app/assets/javascripts/knitkit-web.js +22 -0
- data/app/assets/javascripts/knitkit/additional-methods.min.js +4 -0
- data/app/assets/javascripts/knitkit/bootstrap.min.js +7 -0
- data/app/assets/javascripts/knitkit/captcha.js +154 -0
- data/{public → app/assets}/javascripts/knitkit/confirm-bootstrap.js +1 -1
- data/{public → app/assets}/javascripts/knitkit/inline_editing.js +1 -1
- data/{public → app/assets}/javascripts/knitkit/jquery.maskedinput.min.js +0 -0
- data/app/assets/javascripts/knitkit/jquery.validate.min.js +4 -0
- data/app/assets/javascripts/knitkit/js.cookie.js +145 -0
- data/{public → app/assets}/javascripts/knitkit/theme.js +0 -0
- data/app/assets/stylesheets/erp_app/desktop/applications/knitkit/app.css +12 -0
- data/{public → app/assets}/stylesheets/erp_app/desktop/applications/knitkit/knitkit.css +23 -33
- data/app/assets/stylesheets/erp_app/shared/knitkit_shared.css +21 -0
- data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.svg +288 -0
- data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/stylesheets/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/app/assets/stylesheets/knitkit-web.css +16 -0
- data/app/assets/stylesheets/knitkit/bootstrap.min.css +5 -0
- data/app/assets/stylesheets/knitkit/captcha.css +59 -0
- data/app/assets/stylesheets/knitkit/custom.css +144 -0
- data/{public → app/assets}/stylesheets/knitkit/inline_editing.css +0 -0
- data/app/assets/stylesheets/knitkit/submenu.css +93 -0
- data/app/controllers/api/v1/websites_controller.rb +14 -0
- data/app/controllers/captcha_controller.rb +53 -0
- data/app/controllers/knitkit/base_controller.rb +1 -5
- data/app/controllers/knitkit/erp_app/desktop/app_controller.rb +2 -9
- data/app/controllers/knitkit/erp_app/desktop/articles_controller.rb +20 -7
- data/app/controllers/knitkit/erp_app/desktop/file_assets_controller.rb +38 -28
- data/app/controllers/knitkit/erp_app/desktop/image_assets_controller.rb +16 -9
- data/app/controllers/knitkit/erp_app/desktop/online_document_sections_controller.rb +69 -15
- data/app/controllers/knitkit/erp_app/desktop/position_controller.rb +45 -58
- data/app/controllers/knitkit/erp_app/desktop/theme_controller.rb +64 -29
- data/app/controllers/knitkit/erp_app/desktop/website_controller.rb +36 -13
- data/app/controllers/knitkit/erp_app/desktop/website_host_controller.rb +12 -0
- data/app/controllers/knitkit/erp_app/desktop/website_nav_controller.rb +4 -11
- data/app/controllers/knitkit/erp_app/desktop/website_nav_item_controller.rb +2 -9
- data/app/controllers/knitkit/erp_app/desktop/website_section_controller.rb +56 -20
- data/app/controllers/knitkit/online_document_sections_controller.rb +9 -3
- data/app/mailers/website_inquiry_mailer.rb +11 -3
- data/app/models/content.rb +16 -6
- data/app/models/documented_item.rb +12 -1
- data/app/models/online_document_section.rb +54 -20
- data/app/models/published_website.rb +16 -0
- data/app/models/theme.rb +53 -47
- data/app/models/website.rb +172 -191
- data/app/models/website_section.rb +64 -30
- data/app/views/knitkit/blogs/show.html.erb +5 -2
- data/app/views/layouts/knitkit/base.html.erb +54 -51
- data/app/views/menus/knitkit/_default_menu.html.erb +11 -11
- data/app/views/menus/knitkit/_default_section_menu.html.erb +2 -2
- data/app/views/menus/knitkit/_default_sub_menu.erb +27 -0
- data/app/views/menus/knitkit/_default_sub_section_menu.html.erb +30 -0
- data/app/views/website_inquiry_mailer/inquiry.html.erb +266 -0
- data/app/widgets/contact_us/base.rb +26 -16
- data/app/widgets/contact_us/javascript/contact_us.js +1 -1
- data/app/widgets/contact_us/views/error.html.erb +7 -3
- data/app/widgets/contact_us/views/index.html.erb +36 -28
- data/app/widgets/google_map/javascript/google_map.js +1 -1
- data/app/widgets/google_map/views/index.html.erb +1 -1
- data/app/widgets/login/javascript/login.js +1 -1
- data/app/widgets/login/views/index.html.erb +1 -1
- data/app/widgets/manage_profile/base.rb +141 -112
- data/app/widgets/manage_profile/javascript/manage_profile.js +2 -2
- data/app/widgets/manage_profile/views/_password_form.html.erb +1 -1
- data/app/widgets/manage_profile/views/_user_information_form.html.erb +1 -30
- data/app/widgets/manage_profile/views/index.html.erb +42 -40
- data/app/widgets/reset_password/base.rb +39 -8
- data/app/widgets/reset_password/javascript/reset_password.js +1 -1
- data/app/widgets/reset_password/views/index.html.erb +3 -3
- data/app/widgets/reset_password/views/invalid_reset_token.html.erb +7 -0
- data/app/widgets/reset_password/views/layouts/base.html.erb +1 -1
- data/app/widgets/reset_password/views/reset_password.html.erb +39 -0
- data/app/widgets/reset_password/views/reset_success.html.erb +5 -0
- data/app/widgets/search/base.rb +5 -5
- data/app/widgets/search/javascript/search.js +6 -6
- data/app/widgets/search/views/_inline_search_form.html.erb +23 -12
- data/app/widgets/search/views/_search_form.html.erb +34 -30
- data/app/widgets/search/views/layouts/base.html.erb +6 -1
- data/app/widgets/signup/base.rb +73 -30
- data/app/widgets/signup/javascript/signup.js +1 -1
- data/app/widgets/signup/views/_signup_form.html.erb +2 -1
- data/app/widgets/signup/views/layouts/base.html.erb +1 -1
- data/app/widgets/signup/views/success.html.erb +2 -3
- data/config/routes.rb +25 -4
- data/db/data_migrations/20110509223702_add_publisher_role.rb +0 -2
- data/db/data_migrations/20110816153456_add_knitkit_application.rb +7 -15
- data/db/data_migrations/20120127150505_create_website_default_configuration.rb +63 -3
- data/db/data_migrations/20150118180450_add_website_member_roles.rb +12 -0
- data/db/data_migrations/20150414150359_nest_knitkit_security_roles.rb +35 -0
- data/db/data_migrations/20150414173437_move_website_roles_under_website_builder.rb +19 -0
- data/db/migrate/20110211002317_setup_knitkit.rb +86 -39
- data/lib/knitkit.rb +8 -2
- data/lib/knitkit/config.rb +2 -3
- data/lib/knitkit/engine.rb +35 -4
- data/lib/knitkit/extensions.rb +2 -1
- data/lib/knitkit/extensions/action_controller/theme_support/acts_as_themed_controller.rb +1 -1
- data/lib/knitkit/extensions/action_mailer/theme_support/acts_as_themed_mailer.rb +1 -1
- data/lib/knitkit/extensions/compass_ae/mailers/user_mailer.rb +31 -0
- data/lib/knitkit/extensions/compass_ae/widgets/base.rb +1 -1
- data/lib/knitkit/extensions/railties/action_controller/captcha_helper.rb +43 -0
- data/lib/knitkit/extensions/railties/action_view/helpers/content_helper.rb +1 -1
- data/lib/knitkit/extensions/railties/action_view/helpers/menu_helper.rb +11 -1
- data/lib/knitkit/extensions/railties/theme_support/asset_tag_helper.rb +83 -0
- data/lib/knitkit/routing_filter/section_router.rb +24 -14
- data/lib/knitkit/version.rb +1 -1
- data/lib/tasks/knitkit_tasks.rake +89 -4
- data/lib/tasks/theme_parser.rake +85 -0
- data/public/fonts/glyphicons-halflings-regular.eot +0 -0
- data/public/fonts/glyphicons-halflings-regular.svg +288 -0
- data/public/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/public/fonts/glyphicons-halflings-regular.woff +0 -0
- data/public/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/public/paypal-button.min.js +7 -0
- metadata +161 -82
- data/app/assets/javascripts/knitkit/application.js +0 -9
- data/app/assets/stylesheets/knitkit/application.css +0 -7
- data/app/mailers/document_mailer.rb +0 -10
- data/app/views/document_mailer/email_document.html.erb +0 -12
- data/app/views/knitkit/mobile/index.html.erb +0 -162
- data/app/views/knitkit/online_document_sections/index.html.erb +0 -279
- data/app/views/layouts/knitkit/online_document_sections.html.erb +0 -80
- data/app/views/website_inquiry_mailer/inquiry.erb +0 -24
- data/db/data_migrations/20120127150506_add_primary_host_to_website_configuration.rb +0 -33
- data/db/data_migrations/20120316150424_add_is_template_to_default_website_config.rb +0 -16
- data/db/data_migrations/20120809020508_update_website_and_configuration.rb +0 -82
- data/db/data_migrations/20121129185611_upgrade_website_role_iid.rb +0 -20
- data/db/migrate/20130405184234_add_use_markdown_to_section.rb +0 -19
- data/db/migrate/20131112013052_add_knitkit_missing_indexes.rb +0 -33
- data/db/migrate/20140622212723_update_website_inquiries.rb +0 -22
- data/db/migrate/20140911185022_add_publishing_to_website.rb +0 -5
- data/db/migrate/20141013073349_add_custom_fields_to_documents.rb +0 -12
- data/db/migrate/20141016101936_upgrade_remove_dynamic_attributes.rb +0 -13
- data/lib/knitkit/extensions/railties/theme_support/theme_file_resolver.rb +0 -49
- data/public/images/knitkit/close_window.png +0 -0
- data/public/images/knitkit/splash/splash.png +0 -0
- data/public/javascripts/erp_app/desktop/applications/knitkit/comments_grid_panel.js +0 -215
- data/public/javascripts/erp_app/desktop/applications/knitkit/select_roles_window.js +0 -108
- data/public/javascripts/erp_app/desktop/applications/knitkit/splash_screen.js +0 -170
- data/public/javascripts/knitkit/bootstrap-datepicker.js +0 -474
- data/public/javascripts/knitkit/bootstrap.min.js +0 -7
- data/public/javascripts/knitkit/mobile/app/view/Main.js +0 -108
- data/public/javascripts/knitkit/mobile/ux/slidenavigation/View.js +0 -734
- data/public/stylesheets/knitkit/bootstrap-responsive.min.css +0 -10
- data/public/stylesheets/knitkit/bootstrap.min.css +0 -7
- data/public/stylesheets/knitkit/custom.css +0 -122
- data/public/stylesheets/knitkit/datepicker.css +0 -182
@@ -0,0 +1,19 @@
|
|
1
|
+
class MoveWebsiteRolesUnderWebsiteBuilder
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
Website.all.each do |website|
|
5
|
+
role = website.role
|
6
|
+
|
7
|
+
role.move_to_child_of(SecurityRole.iid('website_builder'))
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.down
|
12
|
+
Website.all.each do |website|
|
13
|
+
role = website.role
|
14
|
+
|
15
|
+
role.move_to_child_of(nil)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -1,20 +1,22 @@
|
|
1
1
|
class SetupKnitkit < ActiveRecord::Migration
|
2
2
|
def self.up
|
3
3
|
|
4
|
+
# websites
|
4
5
|
unless table_exists?(:websites)
|
5
6
|
create_table :websites do |t|
|
6
7
|
t.string :name
|
7
8
|
t.string :title
|
8
9
|
t.string :subtitle
|
9
10
|
t.string :internal_identifier
|
10
|
-
t.
|
11
|
-
t.boolean :auto_activate_publication
|
12
|
-
t.boolean :email_inquiries
|
11
|
+
t.boolean :publishing, :default => false
|
13
12
|
|
14
13
|
t.timestamps
|
15
14
|
end
|
15
|
+
|
16
|
+
add_index :websites, :internal_identifier, :name => 'websites_internal_identifier_idx'
|
16
17
|
end
|
17
18
|
|
19
|
+
# website_hosts
|
18
20
|
unless table_exists?(:website_hosts)
|
19
21
|
create_table :website_hosts do |t|
|
20
22
|
t.references :website
|
@@ -26,16 +28,24 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
26
28
|
add_index :website_hosts, :website_id
|
27
29
|
end
|
28
30
|
|
31
|
+
# website_inquiries
|
29
32
|
unless table_exists?(:website_inquiries)
|
30
33
|
create_table :website_inquiries do |t|
|
31
34
|
t.integer :website_id
|
35
|
+
t.string :first_name
|
36
|
+
t.string :last_name
|
37
|
+
t.string :email
|
38
|
+
t.text :message
|
39
|
+
t.references :created_by
|
32
40
|
|
33
41
|
t.timestamps
|
34
42
|
end
|
35
43
|
|
36
44
|
add_index :website_inquiries, :website_id
|
45
|
+
add_index :website_inquiries, :created_by_id, :name => 'inquiry_created_by_idx'
|
37
46
|
end
|
38
47
|
|
48
|
+
# website_sections
|
39
49
|
unless table_exists?(:website_sections)
|
40
50
|
create_table :website_sections do |t|
|
41
51
|
t.string :title
|
@@ -50,6 +60,7 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
50
60
|
t.string :internal_identifier
|
51
61
|
t.integer :version
|
52
62
|
t.boolean :render_base_layout, :default => true
|
63
|
+
t.boolean :use_markdown
|
53
64
|
|
54
65
|
#better nested set columns
|
55
66
|
t.integer :parent_id
|
@@ -69,8 +80,12 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
69
80
|
add_index :website_sections, :internal_identifier, :name => 'section_iid_idx'
|
70
81
|
|
71
82
|
WebsiteSection.create_versioned_table
|
83
|
+
|
84
|
+
add_index :website_section_versions, :website_id, :name => 'website_section_versions_website_id_idx'
|
85
|
+
add_index :website_section_versions, :internal_identifier, :name => 'website_section_versions_internal_identifier_idx'
|
72
86
|
end
|
73
87
|
|
88
|
+
# contents
|
74
89
|
unless table_exists?(:contents)
|
75
90
|
create_table :contents do |t|
|
76
91
|
t.string :type
|
@@ -95,13 +110,18 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
95
110
|
add_index :contents, :internal_identifier, :name => 'contents_iid_idx'
|
96
111
|
|
97
112
|
Content.create_versioned_table
|
113
|
+
|
114
|
+
add_index :content_versions, :created_by_id, :name => 'content_versions_created_by_id_idx'
|
115
|
+
add_index :content_versions, :updated_by_id, :name => 'content_versions_updated_by_id_idx'
|
116
|
+
add_index :content_versions, :internal_identifier, :name => 'content_versions_internal_identifier_idx'
|
98
117
|
end
|
99
118
|
|
119
|
+
# website_section_contents
|
100
120
|
unless table_exists?(:website_section_contents)
|
101
121
|
create_table :website_section_contents do |t|
|
102
122
|
t.integer :website_section_id
|
103
123
|
t.integer :content_id
|
104
|
-
t.string
|
124
|
+
t.string :content_area
|
105
125
|
t.integer :position, :default => 0
|
106
126
|
|
107
127
|
t.timestamps
|
@@ -113,6 +133,7 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
113
133
|
add_index :website_section_contents, :content_area
|
114
134
|
end
|
115
135
|
|
136
|
+
# themes
|
116
137
|
unless table_exists?(:themes)
|
117
138
|
create_table :themes do |t|
|
118
139
|
t.references :website
|
@@ -131,6 +152,7 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
131
152
|
add_index :themes, :active
|
132
153
|
end
|
133
154
|
|
155
|
+
# published_websites
|
134
156
|
unless table_exists?(:published_websites)
|
135
157
|
create_table :published_websites do |t|
|
136
158
|
t.references :website
|
@@ -149,6 +171,7 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
149
171
|
add_index :published_websites, :published_by_id
|
150
172
|
end
|
151
173
|
|
174
|
+
# published_elements
|
152
175
|
unless table_exists?(:published_elements)
|
153
176
|
create_table :published_elements do |t|
|
154
177
|
t.references :published_website
|
@@ -166,12 +189,13 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
166
189
|
add_index :published_elements, :published_by_id
|
167
190
|
end
|
168
191
|
|
192
|
+
# comments
|
169
193
|
unless table_exists?(:comments)
|
170
194
|
create_table :comments do |t|
|
171
|
-
t.string
|
172
|
-
t.string
|
173
|
-
t.text
|
174
|
-
t.integer
|
195
|
+
t.string :commentor_name
|
196
|
+
t.string :email
|
197
|
+
t.text :comment
|
198
|
+
t.integer :approved
|
175
199
|
t.datetime :approved_at
|
176
200
|
t.references :user
|
177
201
|
t.references :commented_record, :polymorphic => true
|
@@ -184,6 +208,7 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
184
208
|
add_index :comments, [:user_id]
|
185
209
|
end
|
186
210
|
|
211
|
+
# website_nav_items
|
187
212
|
unless table_exists?(:website_nav_items)
|
188
213
|
create_table :website_nav_items do |t|
|
189
214
|
t.references :website_nav
|
@@ -208,6 +233,7 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
208
233
|
add_index :website_nav_items, :rgt
|
209
234
|
end
|
210
235
|
|
236
|
+
# website_navs
|
211
237
|
unless table_exists?(:website_navs)
|
212
238
|
create_table :website_navs do |t|
|
213
239
|
t.references :website
|
@@ -219,12 +245,14 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
219
245
|
add_index :website_navs, :website_id
|
220
246
|
end
|
221
247
|
|
248
|
+
# tags
|
222
249
|
unless table_exists?(:tags)
|
223
250
|
create_table :tags do |t|
|
224
251
|
t.column :name, :string
|
225
252
|
end
|
226
253
|
end
|
227
254
|
|
255
|
+
# tags
|
228
256
|
unless table_exists?(:taggings)
|
229
257
|
create_table :taggings do |t|
|
230
258
|
t.column :tag_id, :integer
|
@@ -244,6 +272,7 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
244
272
|
add_index :taggings, [:taggable_id, :taggable_type, :context], :name => 'taggable_poly_idx'
|
245
273
|
end
|
246
274
|
|
275
|
+
# website_party_roles
|
247
276
|
unless table_exists? :website_party_roles
|
248
277
|
create_table :website_party_roles do |t|
|
249
278
|
#foreign keys
|
@@ -258,45 +287,63 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
258
287
|
add_index :website_party_roles, :role_type_id
|
259
288
|
add_index :website_party_roles, :party_id
|
260
289
|
end
|
261
|
-
|
262
|
-
create_table :documented_items, :force => true do |t|
|
263
|
-
t.string :documented_klass, :null => true
|
264
|
-
t.integer :documented_content_id, :null => true
|
265
|
-
t.integer :online_document_section_id
|
266
|
-
t.timestamps
|
267
|
-
end
|
268
|
-
|
269
|
-
create_table :documents do |t|
|
270
|
-
t.string :external_identifier
|
271
|
-
t.string :internal_identifier
|
272
|
-
t.string :description
|
273
|
-
t.datetime :document_date
|
274
290
|
|
275
|
-
|
276
|
-
|
291
|
+
# documented_items
|
292
|
+
unless table_exists? :documented_items
|
293
|
+
create_table :documented_items do |t|
|
294
|
+
t.string :documented_klass, :null => true
|
295
|
+
t.integer :documented_content_id, :null => true
|
296
|
+
t.integer :online_document_section_id
|
297
|
+
t.timestamps
|
298
|
+
end
|
277
299
|
|
278
|
-
|
300
|
+
add_index :documented_items, :documented_content_id, :name => 'documented_items_documented_content_id_idx'
|
301
|
+
add_index :documented_items, :online_document_section_id, :name => 'documented_items_online_document_section_id_idx'
|
279
302
|
end
|
280
303
|
|
281
|
-
|
282
|
-
|
304
|
+
# documents
|
305
|
+
unless table_exists? :documents
|
306
|
+
create_table :documents do |t|
|
307
|
+
t.string :external_identifier
|
308
|
+
t.string :internal_identifier
|
309
|
+
t.string :description
|
310
|
+
t.datetime :document_date
|
311
|
+
|
312
|
+
t.references :document_record, :polymorphic => true
|
313
|
+
t.references :document_type
|
314
|
+
t.text :custom_fields
|
283
315
|
|
284
|
-
|
285
|
-
|
286
|
-
t.string :internal_identifier
|
287
|
-
t.string :description
|
316
|
+
t.timestamps
|
317
|
+
end
|
288
318
|
|
289
|
-
|
319
|
+
add_index :documents, [:document_record_type, :document_record_id], :name => 'document_record_poly_idx'
|
320
|
+
add_index :documents, :document_type_id, :name => 'document_type_idx'
|
321
|
+
add_index :documents, :internal_identifier, :name => 'documents_internal_identifier_idx'
|
290
322
|
end
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
323
|
+
|
324
|
+
# document_types
|
325
|
+
unless table_exists? :document_types
|
326
|
+
create_table :document_types do |t|
|
327
|
+
t.string :external_identifier
|
328
|
+
t.string :internal_identifier
|
329
|
+
t.string :description
|
330
|
+
|
331
|
+
t.timestamps
|
332
|
+
end
|
333
|
+
|
334
|
+
add_index :document_types, :internal_identifier, :name => 'document_types_internal_identifier_idx'
|
295
335
|
end
|
296
336
|
|
297
|
-
|
298
|
-
|
337
|
+
# valid_documents
|
338
|
+
unless table_exists? :valid_documents
|
339
|
+
create_table :valid_documents do |t|
|
340
|
+
t.references :document
|
341
|
+
t.references :documented_model, :polymorphic => true
|
342
|
+
end
|
299
343
|
|
344
|
+
add_index :valid_documents, :document_id
|
345
|
+
add_index :valid_documents, [:documented_model_id, :documented_model_type], :name => 'valid_documents_model_idx'
|
346
|
+
end
|
300
347
|
end
|
301
348
|
|
302
349
|
def self.down
|
@@ -305,8 +352,8 @@ class SetupKnitkit < ActiveRecord::Migration
|
|
305
352
|
|
306
353
|
# check that each table exists before trying to delete it.
|
307
354
|
[:websites, :website_sections, :contents, :website_section_contents, :documents, :document_types, :valid_documents,
|
308
|
-
|
309
|
-
|
355
|
+
:themes, :theme_files, :published_websites, :published_elements, :website_party_roles,
|
356
|
+
:comments, :website_hosts, :website_nav_items, :website_navs, :tags, :taggings, :documented_items].each do |tbl|
|
310
357
|
if table_exists?(tbl)
|
311
358
|
drop_table tbl
|
312
359
|
end
|
data/lib/knitkit.rb
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
#compass libraries
|
2
2
|
require 'erp_app'
|
3
3
|
|
4
|
+
require 'momentjs-rails'
|
5
|
+
require 'bootstrap3-datetimepicker-rails'
|
6
|
+
require 'html_truncator'
|
7
|
+
require 'visual_captcha'
|
8
|
+
require 'kramdown'
|
4
9
|
require 'routing_filter'
|
10
|
+
|
11
|
+
require 'knitkit/extensions'
|
5
12
|
require "knitkit/version"
|
6
13
|
require "knitkit/routing_filter/section_router.rb"
|
7
|
-
require 'knitkit/extensions'
|
8
14
|
require "knitkit/syntax_validator"
|
9
15
|
require "knitkit/config"
|
10
16
|
require "knitkit/engine"
|
11
|
-
|
17
|
+
|
12
18
|
|
13
19
|
module Knitkit
|
14
20
|
end
|
data/lib/knitkit/config.rb
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
module Knitkit
|
2
2
|
module Config
|
3
3
|
class << self
|
4
|
-
attr_accessor :unauthorized_url, :ignored_prefix_paths
|
4
|
+
attr_accessor :unauthorized_url, :ignored_prefix_paths
|
5
5
|
|
6
6
|
def init!
|
7
7
|
@defaults = {
|
8
8
|
:@unauthorized_url => '/unauthorized',
|
9
|
-
:@ignored_prefix_paths => []
|
10
|
-
:@images_base_path => File.join("public", "knitkit")
|
9
|
+
:@ignored_prefix_paths => []
|
11
10
|
}
|
12
11
|
end
|
13
12
|
|
data/lib/knitkit/engine.rb
CHANGED
@@ -8,12 +8,43 @@ module Knitkit
|
|
8
8
|
isolate_namespace Knitkit
|
9
9
|
|
10
10
|
config.knitkit = Knitkit::Config
|
11
|
-
|
12
|
-
|
11
|
+
|
12
|
+
initializer "knitkit.merge_public" do |app|
|
13
13
|
app.middleware.insert_before Rack::Runtime, ::ActionDispatch::Static, "#{root}/public"
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
initializer :assets do |config|
|
17
|
+
# include widget javascript assets
|
18
|
+
Dir.foreach(root.join("app", "assets", "javascripts", "widgets")) do |dir|
|
19
|
+
next if dir == '.' or dir == '..'
|
20
|
+
Dir.foreach(root.join("app", "assets", "javascripts", "widgets", dir)) do |file|
|
21
|
+
Rails.application.config.assets.precompile << File.join("widgets", dir, file)
|
22
|
+
end
|
23
|
+
end if File.exists?(root.join("app", "assets", "stylesheets", "widgets"))
|
24
|
+
|
25
|
+
# include widget stylesheet assets
|
26
|
+
Dir.foreach(root.join("app", "assets", "stylesheets", "widgets")) do |dir|
|
27
|
+
next if dir == '.' or dir == '..'
|
28
|
+
Dir.foreach(root.join("app", "assets", "stylesheets", "widgets", dir)) do |file|
|
29
|
+
Rails.application.config.assets.precompile << File.join("widgets", dir, file)
|
30
|
+
end
|
31
|
+
end if File.exists?(root.join("app", "assets", "stylesheets", "widgets"))
|
32
|
+
|
33
|
+
Rails.application.config.assets.paths << root.join("app", "assets", "images")
|
34
|
+
Rails.application.config.assets.precompile += %w{ knitkit-web.css knitkit/custom.css knitkit-web.js knitkit/theme.js }
|
35
|
+
Rails.application.config.assets.precompile += %w{ erp_app/desktop/applications/knitkit/app.js }
|
36
|
+
Rails.application.config.assets.precompile += %w{ erp_app/desktop/applications/knitkit/app.css }
|
37
|
+
|
38
|
+
Rails.application.config.assets.precompile += %w{ erp_app/shared/knitkit_shared.css }
|
39
|
+
ErpApp::Config.shared_css_assets += %w{ erp_app/shared/knitkit_shared.css }
|
40
|
+
end
|
41
|
+
|
42
|
+
# filter sensitive information during logging
|
43
|
+
initializer "kntikit.params.filter" do |app|
|
44
|
+
app.config.filter_parameters += [:card_number, :cvc, :exp_month, :exp_year]
|
45
|
+
end
|
46
|
+
|
47
|
+
ActiveSupport.on_load(:active_record) do
|
17
48
|
include Knitkit::Extensions::ActiveRecord::ActsAsPublishable
|
18
49
|
include Knitkit::Extensions::ActiveRecord::ThemeSupport::HasManyThemes
|
19
50
|
include Knitkit::Extensions::ActiveRecord::ActsAsDocument
|
@@ -30,6 +61,6 @@ module Knitkit
|
|
30
61
|
|
31
62
|
ErpBaseErpSvcs.register_as_compass_ae_engine(config, self)
|
32
63
|
::ErpApp::Widgets::Loader.load_compass_ae_widgets(config, self)
|
33
|
-
|
64
|
+
|
34
65
|
end#Engine
|
35
66
|
end#Knitkit
|
data/lib/knitkit/extensions.rb
CHANGED
@@ -4,7 +4,6 @@ require 'knitkit/extensions/core/array'
|
|
4
4
|
#railties
|
5
5
|
require 'knitkit/extensions/railties/action_view/base'
|
6
6
|
require 'knitkit/extensions/railties/theme_support/asset_tag_helper'
|
7
|
-
require 'knitkit/extensions/railties/theme_support/theme_file_resolver'
|
8
7
|
|
9
8
|
#active_record extensions
|
10
9
|
require 'knitkit/extensions/active_record/acts_as_publishable'
|
@@ -20,3 +19,5 @@ require 'knitkit/extensions/action_mailer/theme_support/acts_as_themed_mailer'
|
|
20
19
|
|
21
20
|
#willpaginate
|
22
21
|
require 'knitkit/extensions/will_paginate/link_renderer'
|
22
|
+
|
23
|
+
require 'knitkit/extensions/railties/action_controller/captcha_helper'
|
@@ -56,7 +56,7 @@ module Knitkit
|
|
56
56
|
path = "#{theme[:path]}/templates"
|
57
57
|
cached_resolver = ThemeSupport::Cache.theme_resolvers.find { |cached_resolver| cached_resolver.to_path == path }
|
58
58
|
if cached_resolver.nil?
|
59
|
-
resolver = ActionView::
|
59
|
+
resolver = ActionView::CompassAeFileResolver.new(path)
|
60
60
|
ThemeSupport::Cache.theme_resolvers << resolver
|
61
61
|
resolver
|
62
62
|
else
|
@@ -37,7 +37,7 @@ module Knitkit
|
|
37
37
|
path = "#{theme[:path]}/templates"
|
38
38
|
cached_resolver = ThemeSupport::Cache.theme_resolvers.find { |cached_resolver| cached_resolver.to_path == path }
|
39
39
|
if cached_resolver.nil?
|
40
|
-
resolver = ActionView::
|
40
|
+
resolver = ActionView::CompassAeFileResolver.new(path)
|
41
41
|
ThemeSupport::Cache.theme_resolvers << resolver
|
42
42
|
resolver
|
43
43
|
else
|
@@ -0,0 +1,31 @@
|
|
1
|
+
UserMailer.class_eval do
|
2
|
+
acts_as_themed_mailer
|
3
|
+
|
4
|
+
def activation_needed_email(user)
|
5
|
+
# add theme paths if a website is present
|
6
|
+
if user.instance_attributes[:website_id]
|
7
|
+
add_theme_view_paths(Website.find(user.instance_attributes[:website_id]))
|
8
|
+
end
|
9
|
+
|
10
|
+
@user = user
|
11
|
+
@url = "#{get_domain(user.instance_attributes[:domain])}/users/activate/#{user.activation_token}"
|
12
|
+
@url << "?login_url=#{@user.instance_attributes[:login_url]}" unless @user.instance_attributes[:login_url].nil?
|
13
|
+
|
14
|
+
@temp_password = @user.instance_attributes[:temp_password] unless @user.instance_attributes[:temp_password].nil?
|
15
|
+
|
16
|
+
mail(:to => user.email, :subject => "An account has been created and needs activation")
|
17
|
+
end
|
18
|
+
|
19
|
+
def reset_password_email(user)
|
20
|
+
# add theme paths if a website is present
|
21
|
+
if user.instance_attributes[:website_id]
|
22
|
+
add_theme_view_paths(Website.find(user.instance_attributes[:website_id]))
|
23
|
+
end
|
24
|
+
|
25
|
+
@user = user
|
26
|
+
@reset_password_token = @user.reset_password_token
|
27
|
+
|
28
|
+
@url = "#{get_domain(user.instance_attributes[:domain])}#{@user.instance_attributes[:reset_password_url]}?token=#{@reset_password_token}"
|
29
|
+
mail(:to => user.email, :subject => "Your password has been reset")
|
30
|
+
end
|
31
|
+
end
|