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
File without changes
|
@@ -0,0 +1,93 @@
|
|
1
|
+
/*!
|
2
|
+
* Start Bootstrap - Simple Sidebar HTML Template (http://startbootstrap.com)
|
3
|
+
* Code licensed under the Apache License v2.0.
|
4
|
+
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
|
5
|
+
*/
|
6
|
+
|
7
|
+
/* Toggle Styles */
|
8
|
+
|
9
|
+
|
10
|
+
#sidebar-wrapper {
|
11
|
+
z-index: 1000;
|
12
|
+
position: fixed;
|
13
|
+
left: 250px;
|
14
|
+
width: 0;
|
15
|
+
height: 100%;
|
16
|
+
margin-left: -250px;
|
17
|
+
overflow-y: auto;
|
18
|
+
background: #222;
|
19
|
+
-webkit-transition: all 0.5s ease;
|
20
|
+
-moz-transition: all 0.5s ease;
|
21
|
+
-o-transition: all 0.5s ease;
|
22
|
+
transition: all 0.5s ease;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* Sidebar Styles */
|
26
|
+
|
27
|
+
.sidebar-nav {
|
28
|
+
position: absolute;
|
29
|
+
top: 0;
|
30
|
+
width: 10px;
|
31
|
+
margin: 0;
|
32
|
+
padding: 0;
|
33
|
+
list-style: none;
|
34
|
+
}
|
35
|
+
|
36
|
+
.sidebar-nav li {
|
37
|
+
text-indent: 20px;
|
38
|
+
line-height: 40px;
|
39
|
+
}
|
40
|
+
|
41
|
+
.sidebar-nav .active {
|
42
|
+
background-color: #525050;
|
43
|
+
}
|
44
|
+
|
45
|
+
.sidebar-nav .active a {
|
46
|
+
color: white;
|
47
|
+
}
|
48
|
+
|
49
|
+
.sidebar-nav li a {
|
50
|
+
display: block;
|
51
|
+
text-decoration: none;
|
52
|
+
color: #999999;
|
53
|
+
}
|
54
|
+
|
55
|
+
.sidebar-nav li a:hover {
|
56
|
+
text-decoration: none;
|
57
|
+
color: #fff;
|
58
|
+
background: rgba(255,255,255,0.2);
|
59
|
+
}
|
60
|
+
|
61
|
+
.sidebar-nav li a:active,
|
62
|
+
.sidebar-nav li a:focus {
|
63
|
+
text-decoration: none;
|
64
|
+
}
|
65
|
+
|
66
|
+
.sidebar-nav > .sidebar-brand {
|
67
|
+
height: 65px;
|
68
|
+
font-size: 18px;
|
69
|
+
line-height: 60px;
|
70
|
+
}
|
71
|
+
|
72
|
+
.sidebar-nav > .sidebar-brand a {
|
73
|
+
color: #999999;
|
74
|
+
}
|
75
|
+
|
76
|
+
.sidebar-nav > .sidebar-brand a:hover {
|
77
|
+
color: #fff;
|
78
|
+
background: none;
|
79
|
+
}
|
80
|
+
|
81
|
+
@media(min-width:768px) {
|
82
|
+
.sidebar-nav {
|
83
|
+
width: 250px;
|
84
|
+
}
|
85
|
+
|
86
|
+
.side-bar-content-wrapper {
|
87
|
+
margin-left: 250px !important;
|
88
|
+
}
|
89
|
+
|
90
|
+
#sidebar-wrapper {
|
91
|
+
width: 250px;
|
92
|
+
}
|
93
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Api
|
2
|
+
module V1
|
3
|
+
class WebsitesController < BaseController
|
4
|
+
|
5
|
+
def index
|
6
|
+
render json: {
|
7
|
+
success: true,
|
8
|
+
websites: Website.scope_by_dba_organization(current_user.party.dba_organization).all.collect { |w| w.to_data_hash }
|
9
|
+
}
|
10
|
+
end
|
11
|
+
|
12
|
+
end # WebsitesController
|
13
|
+
end # V1
|
14
|
+
end # Api
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class CaptchaController < ActionController::Base
|
2
|
+
|
3
|
+
include Knitkit::Extensions::Railties::ActionController::CaptchaHelper
|
4
|
+
|
5
|
+
before_filter :setup_visual_captcha
|
6
|
+
|
7
|
+
def setup_visual_captcha
|
8
|
+
@session = VisualCaptcha::Session.new session
|
9
|
+
@headers = {
|
10
|
+
'Access-Control-Allow-Origin' => '*'
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
def start
|
15
|
+
captcha = VisualCaptcha::Captcha.new @session
|
16
|
+
|
17
|
+
captcha.generate params[:how_many]
|
18
|
+
|
19
|
+
render json: captcha.frontend_data
|
20
|
+
end
|
21
|
+
|
22
|
+
def audio
|
23
|
+
captcha = VisualCaptcha::Captcha.new @session
|
24
|
+
|
25
|
+
type = params[:type]
|
26
|
+
type = 'mp3' if type != 'ogg'
|
27
|
+
|
28
|
+
if (body = captcha.stream_audio @headers, type)
|
29
|
+
send_data body, type: type, disposition: 'inline'
|
30
|
+
else
|
31
|
+
raise ActionController::RoutingError.new('Not Found')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def image
|
36
|
+
captcha = VisualCaptcha::Captcha.new @session
|
37
|
+
|
38
|
+
if (body = captcha.stream_image @headers, params[:index], params[:retina])
|
39
|
+
send_data body, type: 'image/png', disposition: 'inline'
|
40
|
+
else
|
41
|
+
raise ActionController::RoutingError.new('Not Found')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def validate
|
46
|
+
if captcha_valid?
|
47
|
+
render json: {success: true}
|
48
|
+
else
|
49
|
+
render json: {success: false}
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Knitkit
|
2
2
|
class BaseController < ::ErpApp::ApplicationController
|
3
|
-
before_filter :set_website
|
3
|
+
before_filter :set_website
|
4
4
|
before_filter :set_login_path, :set_active_publication, :load_sections, :set_section, :except => [:view_current_publication]
|
5
5
|
acts_as_themed_controller
|
6
6
|
|
@@ -23,10 +23,6 @@ module Knitkit
|
|
23
23
|
def load_sections
|
24
24
|
@website_sections = @website.website_sections.positioned
|
25
25
|
end
|
26
|
-
|
27
|
-
def clear_widget_params
|
28
|
-
session[:widgets] = {}
|
29
|
-
end
|
30
26
|
|
31
27
|
def set_section
|
32
28
|
unless params[:section_id].nil?
|
@@ -4,10 +4,6 @@ module Knitkit
|
|
4
4
|
class AppController < ::ErpApp::Desktop::BaseController
|
5
5
|
KNIT_KIT_ROOT = Knitkit::Engine.root.to_s
|
6
6
|
|
7
|
-
def available_roles
|
8
|
-
render :json => {:success => true, :availableRoles => SecurityRole.order('description ASC').all.collect { |role| role.to_hash(:only => [:internal_identifier, :description]) }}
|
9
|
-
end
|
10
|
-
|
11
7
|
protected
|
12
8
|
|
13
9
|
def set_website
|
@@ -72,10 +68,8 @@ module Knitkit
|
|
72
68
|
:inMenu => website_section.in_menu,
|
73
69
|
:renderWithBaseLayout => website_section.render_base_layout?,
|
74
70
|
:hasLayout => !website_section.layout.blank?,
|
75
|
-
:
|
76
|
-
:url => "http://#{@website_primary_host}#{website_section.path}",
|
71
|
+
:url => "#{request.protocol}#{@website_primary_host}#{website_section.path}",
|
77
72
|
:internal_identifier => website_section.internal_identifier
|
78
|
-
|
79
73
|
}
|
80
74
|
|
81
75
|
if website_section.is_a?(OnlineDocumentSection) || website_section.type == 'OnlineDocumentSection'
|
@@ -108,9 +102,8 @@ module Knitkit
|
|
108
102
|
|
109
103
|
{
|
110
104
|
recordType: 'Article',
|
111
|
-
recordId: website_section_content.id,
|
105
|
+
recordId: website_section_content.content.id,
|
112
106
|
:objectType => "Article",
|
113
|
-
:id => content.id,
|
114
107
|
:siteId => website.id,
|
115
108
|
:content_area => website_section_content.content_area,
|
116
109
|
:parentItemId => website_section.id,
|
@@ -19,6 +19,9 @@ module Knitkit
|
|
19
19
|
article.created_by = current_user
|
20
20
|
|
21
21
|
if article.save
|
22
|
+
# set the currents users dba_org as the dba_org for this content
|
23
|
+
article.add_party_with_role(current_user.party.dba_organization, RoleType.iid('dba_org'))
|
24
|
+
|
22
25
|
result[:node] = if website_section_id.blank?
|
23
26
|
{:text => params[:title],
|
24
27
|
:id => article.id,
|
@@ -31,9 +34,13 @@ module Knitkit
|
|
31
34
|
else
|
32
35
|
website_section = WebsiteSection.find(website_section_id)
|
33
36
|
article.website_sections << website_section
|
34
|
-
website_section_content = article.update_content_area_and_position_by_section(website_section,
|
37
|
+
website_section_content = article.update_content_area_and_position_by_section(website_section,
|
38
|
+
params['content_area'],
|
39
|
+
params['position'])
|
35
40
|
|
36
|
-
build_article_hash(website_section_content,
|
41
|
+
build_article_hash(website_section_content,
|
42
|
+
website_section.website,
|
43
|
+
website_section.is_blog?)
|
37
44
|
end
|
38
45
|
|
39
46
|
result[:success] = true
|
@@ -65,7 +72,9 @@ module Knitkit
|
|
65
72
|
if article.save
|
66
73
|
unless website_section_id.blank?
|
67
74
|
website_section = WebsiteSection.find(website_section_id)
|
68
|
-
article.update_content_area_and_position_by_section(website_section,
|
75
|
+
article.update_content_area_and_position_by_section(website_section,
|
76
|
+
params['content_area'],
|
77
|
+
params['position'])
|
69
78
|
end
|
70
79
|
|
71
80
|
result[:success] = true
|
@@ -107,7 +116,8 @@ module Knitkit
|
|
107
116
|
end
|
108
117
|
|
109
118
|
def existing_articles
|
110
|
-
render :inline => Article.
|
119
|
+
render :inline => Article.with_party_role(current_user.party.dba_organization,
|
120
|
+
RoleType.iid('dba_org')).all.to_json(:only => [:internal_identifier, :id])
|
111
121
|
end
|
112
122
|
|
113
123
|
def show
|
@@ -133,7 +143,8 @@ module Knitkit
|
|
133
143
|
limit = params[:limit] || 10
|
134
144
|
start = params[:start] || 0
|
135
145
|
|
136
|
-
articles = Article.joins("INNER JOIN website_section_contents ON website_section_contents.content_id = contents.id")
|
146
|
+
articles = Article.joins("INNER JOIN website_section_contents ON website_section_contents.content_id = contents.id")
|
147
|
+
.where("website_section_id = #{website_section_id}")
|
137
148
|
total_count = articles.count
|
138
149
|
articles = articles.order("#{sort} #{dir}").limit(limit).offset(start)
|
139
150
|
|
@@ -171,7 +182,9 @@ module Knitkit
|
|
171
182
|
limit = params[:limit] || 20
|
172
183
|
start = params[:start] || 0
|
173
184
|
|
174
|
-
articles = Article.
|
185
|
+
articles = Article.with_party_role(current_user.party.dba_organization,
|
186
|
+
RoleType.iid('dba_org')).includes(:website_section_contents)
|
187
|
+
|
175
188
|
articles = articles.where(:website_section_contents => {:content_id => nil}) if params[:show_orphaned] == 'true'
|
176
189
|
articles = articles.where("UPPER(contents.internal_identifier) LIKE UPPER('%#{params[:iid]}%')") unless params[:iid].blank?
|
177
190
|
articles = articles.where("UPPER(contents.title) LIKE UPPER('%#{params[:title]}%')") unless params[:title].blank?
|
@@ -201,7 +214,7 @@ module Knitkit
|
|
201
214
|
articles_array << articles_hash
|
202
215
|
end
|
203
216
|
|
204
|
-
render :
|
217
|
+
render :json => {total: total_count, data: articles_array}
|
205
218
|
end
|
206
219
|
|
207
220
|
def article_attributes
|
@@ -7,11 +7,11 @@ module Knitkit
|
|
7
7
|
before_filter :set_asset_model
|
8
8
|
before_filter :set_root_node
|
9
9
|
|
10
|
-
def base_path
|
10
|
+
def base_path
|
11
11
|
if @root_node.nil?
|
12
12
|
@base_path = nil
|
13
13
|
else
|
14
|
-
@base_path = File.join(@file_support.root, @root_node)
|
14
|
+
@base_path = File.join(@file_support.root, @root_node)
|
15
15
|
end
|
16
16
|
|
17
17
|
@base_path
|
@@ -32,17 +32,18 @@ module Knitkit
|
|
32
32
|
|
33
33
|
@assets_model.add_file('#Empty File', File.join(path, name))
|
34
34
|
|
35
|
-
render :json => {:success => true}
|
35
|
+
render :json => {:success => true, :node => @file_support.find_node(File.join(path, name), :file_asset_holder => @assets_model)}
|
36
36
|
end
|
37
37
|
|
38
38
|
def create_folder
|
39
39
|
path = (params[:path] == 'root_node') ? base_path : params[:path]
|
40
40
|
name = params[:name]
|
41
41
|
|
42
|
-
path = File.join(@file_support.root,path) if path.index(@file_support.root).nil?
|
42
|
+
path = File.join(@file_support.root, path) if path.index(@file_support.root).nil?
|
43
43
|
|
44
44
|
@file_support.create_folder(path, name)
|
45
|
-
|
45
|
+
|
46
|
+
render :json => {:success => true, :node => @file_support.find_node(File.join(path, name), {keep_full_path: false})}
|
46
47
|
end
|
47
48
|
|
48
49
|
def upload_file
|
@@ -55,7 +56,6 @@ module Knitkit
|
|
55
56
|
capability_resource = "GlobalFileAsset"
|
56
57
|
end
|
57
58
|
|
58
|
-
model = DesktopApplication.find_by_internal_identifier('knitkit')
|
59
59
|
begin
|
60
60
|
current_user.with_capability(capability_type, capability_resource) do
|
61
61
|
result = {}
|
@@ -64,8 +64,10 @@ module Knitkit
|
|
64
64
|
data = request.raw_post
|
65
65
|
|
66
66
|
begin
|
67
|
-
upload_path == 'root_node' ?
|
68
|
-
|
67
|
+
path = (upload_path == 'root_node') ? File.join(base_path, name) : File.join(@file_support.root, upload_path, name)
|
68
|
+
|
69
|
+
@assets_model.add_file(data, path)
|
70
|
+
result = {:success => true, :node => @file_support.find_node(path, :file_asset_holder => @assets_model)}
|
69
71
|
rescue => ex
|
70
72
|
logger.error ex.message
|
71
73
|
logger.error ex.backtrace.join("\n")
|
@@ -75,7 +77,7 @@ module Knitkit
|
|
75
77
|
#the awesome uploader widget whats this to mime type text, leave it render :inline
|
76
78
|
render :inline => result.to_json
|
77
79
|
end
|
78
|
-
rescue ErpTechSvcs::Utils::CompassAccessNegotiator::Errors::UserDoesNotHaveCapability=>ex
|
80
|
+
rescue ErpTechSvcs::Utils::CompassAccessNegotiator::Errors::UserDoesNotHaveCapability => ex
|
79
81
|
render :json => {:success => false, :message => ex.message}
|
80
82
|
end
|
81
83
|
end
|
@@ -86,7 +88,7 @@ module Knitkit
|
|
86
88
|
path = params[:node]
|
87
89
|
new_parent_path = params[:parent_node]
|
88
90
|
new_parent_path = @root_node if new_parent_path == ROOT_NODE
|
89
|
-
|
91
|
+
|
90
92
|
nodes_to_move = (params[:selected_nodes] ? JSON(params[:selected_nodes]) : [params[:node]])
|
91
93
|
begin
|
92
94
|
nodes_to_move.each do |path|
|
@@ -100,7 +102,7 @@ module Knitkit
|
|
100
102
|
end
|
101
103
|
render :json => {:success => true, :msg => messages.join(',')}
|
102
104
|
rescue Exception => e
|
103
|
-
|
105
|
+
render :json => {:success => false, :msg => e.message}
|
104
106
|
end
|
105
107
|
end
|
106
108
|
|
@@ -121,18 +123,21 @@ module Knitkit
|
|
121
123
|
result = false
|
122
124
|
nodes_to_delete.each do |path|
|
123
125
|
current_user.with_capability(capability_type, capability_resource) do
|
124
|
-
path = "#{path}/" if params[:leaf] == 'false' and path.match(/\/$/).nil?
|
126
|
+
path = "#{path}/" if params[:leaf] == 'false' and path.match(/\/$/).nil?
|
125
127
|
begin
|
126
128
|
name = File.basename(path)
|
127
|
-
result, message, is_folder = @file_support.delete_file(File.join(@file_support.root,path))
|
129
|
+
result, message, is_folder = @file_support.delete_file(File.join(@file_support.root, path))
|
128
130
|
if result and !is_folder
|
129
131
|
file = @assets_model.files.find(:first, :conditions => ['name = ? and directory = ?', ::File.basename(path), ::File.dirname(path)])
|
130
132
|
file.destroy
|
131
133
|
end
|
132
134
|
messages << message
|
133
|
-
rescue
|
135
|
+
rescue StandardError => ex
|
134
136
|
Rails.logger.error ex.message
|
135
137
|
Rails.logger.error ex.backtrace.join("\n")
|
138
|
+
|
139
|
+
ExceptionNotifier.notify_exception(ex) if defined? ExceptionNotifier
|
140
|
+
|
136
141
|
render :json => {:success => false, :error => "Error deleting #{name}"} and return
|
137
142
|
end
|
138
143
|
end # end current_user.with_capability
|
@@ -142,7 +147,7 @@ module Knitkit
|
|
142
147
|
else
|
143
148
|
render :json => {:success => false, :error => messages.join(',')}
|
144
149
|
end
|
145
|
-
rescue ErpTechSvcs::Utils::CompassAccessNegotiator::Errors::UserDoesNotHaveCapability=>ex
|
150
|
+
rescue ErpTechSvcs::Utils::CompassAccessNegotiator::Errors::UserDoesNotHaveCapability => ex
|
146
151
|
render :json => {:success => false, :message => ex.message}
|
147
152
|
end
|
148
153
|
end
|
@@ -151,18 +156,18 @@ module Knitkit
|
|
151
156
|
path = params[:node]
|
152
157
|
name = params[:file_name]
|
153
158
|
|
154
|
-
result, message = @file_support.rename_file(File.join(@file_support.root,path), name)
|
159
|
+
result, message = @file_support.rename_file(File.join(@file_support.root, path), name)
|
155
160
|
if result
|
156
161
|
file = @assets_model.files.find(:first, :conditions => ['name = ? and directory = ?', ::File.basename(path), ::File.dirname(path)])
|
157
162
|
file.name = name
|
158
163
|
file.save
|
159
164
|
end
|
160
165
|
|
161
|
-
render :json =>
|
166
|
+
render :json => {:success => true, :message => message}
|
162
167
|
end
|
163
168
|
|
164
169
|
def update_security
|
165
|
-
path
|
170
|
+
path = params[:path]
|
166
171
|
secure = params[:secure]
|
167
172
|
roles = []
|
168
173
|
|
@@ -185,11 +190,11 @@ module Knitkit
|
|
185
190
|
role.add_capability(capability)
|
186
191
|
end
|
187
192
|
end
|
188
|
-
|
193
|
+
|
189
194
|
# if we're using S3, set file permissions to private or public_read
|
190
195
|
@file_support.set_permissions(path, (file.is_secured? ? :private : :public_read)) if ErpTechSvcs::Config.file_storage == :s3
|
191
|
-
|
192
|
-
render :json => {:success => true, :secured => file.is_secured?, :roles => file.roles.uniq.collect{|item| item.internal_identifier}}
|
196
|
+
|
197
|
+
render :json => {:success => true, :secured => file.is_secured?, :roles => file.roles.uniq.collect { |item| item.internal_identifier }}
|
193
198
|
end
|
194
199
|
|
195
200
|
protected
|
@@ -202,9 +207,14 @@ module Knitkit
|
|
202
207
|
@root_node = nil
|
203
208
|
|
204
209
|
if @context == :website
|
205
|
-
@root_node = File.join(ErpTechSvcs::Config.file_assets_location,
|
210
|
+
@root_node = File.join(ErpTechSvcs::Config.file_assets_location,
|
211
|
+
'sites',
|
212
|
+
@assets_model.iid)
|
206
213
|
else
|
207
|
-
@root_node = File.join(ErpTechSvcs::Config.file_assets_location,
|
214
|
+
@root_node = File.join(ErpTechSvcs::Config.file_assets_location,
|
215
|
+
"dba_organizations",
|
216
|
+
current_user.party.dba_organization.id.to_s,
|
217
|
+
"shared_site_files")
|
208
218
|
end
|
209
219
|
|
210
220
|
@root_node
|
@@ -222,8 +232,8 @@ module Knitkit
|
|
222
232
|
@assets_model = CompassAeInstance.find_by_internal_identifier('base')
|
223
233
|
end
|
224
234
|
end
|
225
|
-
|
226
|
-
end#FileAssetsController
|
227
|
-
end#Desktop
|
228
|
-
end#ErpApp
|
229
|
-
end#Knitkit
|
235
|
+
|
236
|
+
end #FileAssetsController
|
237
|
+
end #Desktop
|
238
|
+
end #ErpApp
|
239
|
+
end #Knitkit
|