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
data/app/widgets/signup/base.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Widgets
|
2
2
|
module Signup
|
3
3
|
class Base < ErpApp::Widgets::Base
|
4
|
+
|
4
5
|
def index
|
5
6
|
@login_url = params[:login_url]
|
6
7
|
@user = User.new
|
@@ -13,28 +14,66 @@ module Widgets
|
|
13
14
|
@configuration = @website.configurations.first
|
14
15
|
password_config_option = @configuration.get_item(ConfigurationItemType.find_by_internal_identifier('password_strength_regex')).options.first
|
15
16
|
primary_host = @configuration.get_item(ConfigurationItemType.find_by_internal_identifier('primary_host')).options.first
|
16
|
-
|
17
17
|
@email = params[:email]
|
18
|
-
|
19
|
-
:email => @email,
|
20
|
-
:username => params[:username],
|
21
|
-
:password => params[:password],
|
22
|
-
:password_confirmation => params[:password_confirmation]
|
23
|
-
)
|
24
|
-
@user.password_validator = {:regex => password_config_option.value, :error_message => password_config_option.comment}
|
25
|
-
#set this to tell activation where to redirect_to for login and temp password
|
26
|
-
@user.add_instance_attribute(:login_url,params[:login_url])
|
27
|
-
@user.add_instance_attribute(:temp_password, params[:password])
|
28
|
-
@user.add_instance_attribute(:domain, primary_host.value)
|
18
|
+
|
29
19
|
begin
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
20
|
+
ActiveRecord::Base.transaction do
|
21
|
+
@user = User.new(
|
22
|
+
:email => @email,
|
23
|
+
:username => params[:username],
|
24
|
+
:password => params[:password],
|
25
|
+
:password_confirmation => params[:password_confirmation]
|
26
|
+
)
|
27
|
+
@user.password_validator = {:regex => password_config_option.value, :error_message => password_config_option.comment}
|
28
|
+
#set this to tell activation where to redirect_to for login and temp password
|
29
|
+
@user.add_instance_attribute(:login_url, params[:login_url])
|
30
|
+
@user.add_instance_attribute(:domain, primary_host.value)
|
31
|
+
|
32
|
+
if @user.save
|
33
|
+
|
34
|
+
# check if there is already a party with that email if there is tie the party to the user
|
35
|
+
party = Party.find_by_email(@email, 'billing')
|
36
|
+
if party
|
37
|
+
@user.party = party
|
38
|
+
else
|
39
|
+
individual = Individual.create(:current_first_name => params[:first_name], :current_last_name => params[:last_name])
|
40
|
+
@user.party = individual.party
|
41
|
+
end
|
42
|
+
|
43
|
+
# add website security role to user
|
44
|
+
@user.add_role(@website.role)
|
45
|
+
|
46
|
+
# create website_party_role for this user as a member of the site
|
47
|
+
WebsitePartyRole.create(party: @user.party, website: @website, role_type: RoleType.find_by_ancestor_iids(['website', 'member']))
|
48
|
+
|
49
|
+
@user.save
|
50
|
+
party = @user.party
|
51
|
+
|
52
|
+
# add party roles to party if present
|
53
|
+
unless params[:party_roles].blank?
|
54
|
+
params[:party_roles].split(',').each do |role_type|
|
55
|
+
party.add_role_type(role_type)
|
56
|
+
end
|
57
|
+
|
58
|
+
party.save
|
59
|
+
end
|
60
|
+
|
61
|
+
# associate the new party to the dba_organization of the current website
|
62
|
+
@dba_party = @website.website_party_roles.where('role_type_id' => RoleType.iid('dba_org')).first.party
|
63
|
+
party.party_roles.collect(&:role_type).each do |role_type|
|
64
|
+
relationship_type = RelationshipType.find_or_create(RoleType.iid('dba_org'), role_type)
|
65
|
+
|
66
|
+
party.create_relationship(relationship_type.description,
|
67
|
+
@dba_party.id,
|
68
|
+
relationship_type)
|
69
|
+
end
|
70
|
+
|
71
|
+
after_registration
|
72
|
+
|
73
|
+
render :update => {:id => "#{@uuid}_result", :view => :success}
|
74
|
+
else
|
75
|
+
render :update => {:id => "#{@uuid}_result", :view => :error}
|
76
|
+
end
|
38
77
|
end
|
39
78
|
rescue => ex
|
40
79
|
logger.error ex.message
|
@@ -43,32 +82,36 @@ module Widgets
|
|
43
82
|
end
|
44
83
|
end
|
45
84
|
|
46
|
-
|
47
|
-
|
85
|
+
def after_registration
|
86
|
+
# override in your code to do special registration logic
|
87
|
+
end
|
88
|
+
|
89
|
+
# should not be modified
|
90
|
+
# modify at your own risk
|
48
91
|
def locate
|
49
92
|
File.dirname(__FILE__)
|
50
93
|
end
|
51
|
-
|
94
|
+
|
52
95
|
class << self
|
53
96
|
def title
|
54
97
|
"Sign Up"
|
55
98
|
end
|
56
|
-
|
99
|
+
|
57
100
|
def widget_name
|
58
101
|
File.basename(File.dirname(__FILE__))
|
59
102
|
end
|
60
|
-
|
103
|
+
|
61
104
|
def base_layout
|
62
105
|
begin
|
63
|
-
file = File.join(File.dirname(__FILE__),"/views/layouts/base.html.erb")
|
106
|
+
file = File.join(File.dirname(__FILE__), "/views/layouts/base.html.erb")
|
64
107
|
IO.read(file)
|
65
108
|
rescue
|
66
109
|
return nil
|
67
110
|
end
|
68
111
|
end
|
112
|
+
|
69
113
|
end
|
70
|
-
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
114
|
|
115
|
+
end # Base
|
116
|
+
end # Signup
|
117
|
+
end # Widgets
|
@@ -7,7 +7,7 @@ Compass.ErpApp.Widgets.Signup = {
|
|
7
7
|
|
8
8
|
Compass.ErpApp.Widgets.AvailableWidgets.push({
|
9
9
|
name: 'Signup',
|
10
|
-
iconUrl: '/
|
10
|
+
iconUrl: '/assets/icons/sign_up/sign_up_48x48.png',
|
11
11
|
onClick: Compass.ErpApp.Widgets.Signup.addSignup,
|
12
12
|
about: 'This widget allows users to sign up.'
|
13
13
|
});
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= form_remote_tag build_widget_url(:new), :class => "form-signin"
|
1
|
+
<%= form_remote_tag build_widget_url(:new), :class => "form-signin" do %>
|
2
2
|
<div class="form_settings">
|
3
3
|
|
4
4
|
<div class="form-group">
|
@@ -23,6 +23,7 @@
|
|
23
23
|
<div class="form-group">
|
24
24
|
<label for="password">Enter a password</label>
|
25
25
|
<%= password_field_tag :password, nil, :class => "form-control", :placeholder => "", :required => true %>
|
26
|
+
<span>Password must be between 8 and 20 characters with no spaces</span>
|
26
27
|
</div>
|
27
28
|
|
28
29
|
<div class="form-group">
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<div class="col-md-6 col-md-offset-3" style="margin: 0 auto;float:none;">
|
4
4
|
<h2><%= @website_section.title %></h2>
|
5
5
|
|
6
|
-
<%= render_widget :signup, :params => {:login_url => "/login"} %>
|
6
|
+
<%= render_widget :signup, :params => {:login_url => "/login", :party_roles => 'customer'} %>
|
7
7
|
|
8
8
|
</div>
|
9
9
|
</div>
|
data/config/routes.rb
CHANGED
@@ -4,7 +4,7 @@ Rails.application.routes.draw do
|
|
4
4
|
get 'knitkit_mobile' => 'knitkit/mobile#index'
|
5
5
|
match 'pages/:section_id' => 'knitkit/website_sections#index', :as => 'page'
|
6
6
|
get 'onlinedocumentsections/:section_id' => 'knitkit/online_document_sections#index', :as => 'document'
|
7
|
-
|
7
|
+
get 'onlinedocumentsections/:section_id/show' => 'knitkit/online_document_sections#show'
|
8
8
|
get 'blogs/:section_id(.:format)' => 'knitkit/blogs#index', :as => 'blogs'
|
9
9
|
get 'blogs/:section_id/:id' => 'knitkit/blogs#show', :as => 'blog_article'
|
10
10
|
get 'blogs/:section_id/tag/:tag_id(.:format)' => 'knitkit/blogs#tag', :as => 'blog_tag'
|
@@ -13,6 +13,20 @@ Rails.application.routes.draw do
|
|
13
13
|
match '/unauthorized' => 'knitkit/unauthorized#index', :as => 'knitkit/unauthorized'
|
14
14
|
match '/view_current_publication' => 'knitkit/base#view_current_publication'
|
15
15
|
match '/online_document_sections(/:action)' => 'knitkit/online_document_sections'
|
16
|
+
|
17
|
+
namespace :api do
|
18
|
+
namespace :v1 do
|
19
|
+
|
20
|
+
resources :websites, defaults: { :format => 'json' }
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
get '/captcha/start/:how_many' => 'captcha#start'
|
26
|
+
get '/captcha/audio(/:type)' => 'captcha#audio'
|
27
|
+
get '/captcha/image/:index' => 'captcha#image'
|
28
|
+
put '/captcha/validate' => 'captcha#validate'
|
29
|
+
|
16
30
|
end
|
17
31
|
|
18
32
|
Knitkit::Engine.routes.draw do
|
@@ -25,10 +39,19 @@ Knitkit::Engine.routes.draw do
|
|
25
39
|
resources :website_nav
|
26
40
|
resources :website_nav_item do
|
27
41
|
member do
|
28
|
-
|
42
|
+
put :update_security
|
29
43
|
end
|
30
44
|
end
|
31
45
|
resources :website_host
|
46
|
+
resources :online_document_sections do
|
47
|
+
collection do
|
48
|
+
post :copy
|
49
|
+
get :existing_documents
|
50
|
+
end
|
51
|
+
member do
|
52
|
+
get :content
|
53
|
+
end
|
54
|
+
end
|
32
55
|
|
33
56
|
match '/:action' => 'app'
|
34
57
|
match '/image_assets/:context/:action' => 'image_assets'
|
@@ -41,8 +64,6 @@ Knitkit::Engine.routes.draw do
|
|
41
64
|
match '/site(/:action)' => 'website'
|
42
65
|
#section
|
43
66
|
match '/section/:action' => 'website_section'
|
44
|
-
#document
|
45
|
-
match '/online_document_sections/:action' => 'online_document_sections'
|
46
67
|
#theme
|
47
68
|
match '/theme/:action' => 'theme'
|
48
69
|
#version
|
@@ -4,7 +4,6 @@ class AddPublisherRole
|
|
4
4
|
SecurityRole.create(:internal_identifier => 'publisher', :description => 'Publisher')
|
5
5
|
SecurityRole.create(:internal_identifier => 'content_author', :description => 'Content Author')
|
6
6
|
SecurityRole.create(:internal_identifier => 'layout_author', :description => 'Layout Author')
|
7
|
-
SecurityRole.create(:internal_identifier => 'editor', :description => 'Editor')
|
8
7
|
SecurityRole.create(:internal_identifier => 'designer', :description => 'Designer')
|
9
8
|
SecurityRole.create(:internal_identifier => 'website_author', :description => 'Website Author')
|
10
9
|
end
|
@@ -13,7 +12,6 @@ class AddPublisherRole
|
|
13
12
|
SecurityRole.iid('publisher').destroy
|
14
13
|
SecurityRole.iid('content_author').destroy
|
15
14
|
SecurityRole.iid('layout_author').destroy
|
16
|
-
SecurityRole.iid('editor').destroy
|
17
15
|
SecurityRole.iid('designer').destroy
|
18
16
|
SecurityRole.iid('website_author').destroy
|
19
17
|
end
|
@@ -1,29 +1,21 @@
|
|
1
1
|
class AddKnitkitApplication
|
2
|
-
|
2
|
+
|
3
3
|
def self.up
|
4
4
|
if DesktopApplication.find_by_internal_identifier('knitkit').nil?
|
5
|
-
|
5
|
+
app = DesktopApplication.create(
|
6
6
|
:description => 'KnitKit',
|
7
7
|
:icon => 'icon-palette',
|
8
|
-
:
|
9
|
-
:internal_identifier => 'knitkit',
|
10
|
-
:shortcut_id => 'knitkit-win'
|
8
|
+
:internal_identifier => 'knitkit'
|
11
9
|
)
|
12
10
|
|
13
|
-
knikit_app.preference_types << PreferenceType.iid('desktop_shortcut')
|
14
|
-
knikit_app.preference_types << PreferenceType.iid('autoload_application')
|
15
|
-
knikit_app.save
|
16
|
-
|
17
11
|
admin_user = User.find_by_username('admin')
|
18
|
-
admin_user.
|
12
|
+
admin_user.desktop_applications << app
|
19
13
|
admin_user.save
|
20
|
-
|
21
|
-
|
22
|
-
truenorth_user.desktop.applications << knikit_app
|
23
|
-
truenorth_user.save
|
14
|
+
|
15
|
+
app.add_party_with_role(admin_user.party.dba_organization, RoleType.iid('dba_org'))
|
24
16
|
end
|
25
17
|
end
|
26
|
-
|
18
|
+
|
27
19
|
def self.down
|
28
20
|
DesktopApplication.find_by_internal_identifier('knitkit').destroy
|
29
21
|
end
|
@@ -3,6 +3,21 @@ class CreateWebsiteDefaultConfiguration
|
|
3
3
|
def self.up
|
4
4
|
unless ::Configuration.find_template('default_website_configuration')
|
5
5
|
website_setup_category = Category.create(:description => 'Website Setup', :internal_identifier => 'website_setup')
|
6
|
+
content_work_flow_category = Category.create(:description => 'Content Workflow', :internal_identifier => 'content_workflow')
|
7
|
+
|
8
|
+
yes_option = ConfigurationOption.find_by_internal_identifier('yes')
|
9
|
+
yes_option = ConfigurationOption.create(
|
10
|
+
:description => 'Yes',
|
11
|
+
:internal_identifier => 'yes',
|
12
|
+
:value => 'yes'
|
13
|
+
) if yes_option.nil?
|
14
|
+
|
15
|
+
no_option = ConfigurationOption.find_by_internal_identifier('no')
|
16
|
+
no_option = ConfigurationOption.create(
|
17
|
+
:description => 'No',
|
18
|
+
:internal_identifier => 'no',
|
19
|
+
:value => 'no'
|
20
|
+
) if no_option.nil?
|
6
21
|
|
7
22
|
#configuration
|
8
23
|
configuration = Configuration.create(
|
@@ -11,6 +26,7 @@ class CreateWebsiteDefaultConfiguration
|
|
11
26
|
:is_template => true
|
12
27
|
)
|
13
28
|
|
29
|
+
# login url
|
14
30
|
login_url_config_item_type = ConfigurationItemType.create(
|
15
31
|
:description => 'Login Url',
|
16
32
|
:internal_identifier => 'login_url',
|
@@ -19,6 +35,16 @@ class CreateWebsiteDefaultConfiguration
|
|
19
35
|
CategoryClassification.create(:category => website_setup_category, :classification => login_url_config_item_type)
|
20
36
|
configuration.configuration_item_types << login_url_config_item_type
|
21
37
|
|
38
|
+
# primary host
|
39
|
+
primary_host_config_item_type = ConfigurationItemType.create(
|
40
|
+
:description => 'Primary Host',
|
41
|
+
:internal_identifier => 'primary_host',
|
42
|
+
:allow_user_defined_options => true
|
43
|
+
)
|
44
|
+
CategoryClassification.create(:category => website_setup_category, :classification => primary_host_config_item_type)
|
45
|
+
configuration.configuration_item_types << primary_host_config_item_type
|
46
|
+
|
47
|
+
# homepage url
|
22
48
|
home_page_url_config_item_type = ConfigurationItemType.create(
|
23
49
|
:description => 'Homepage Url',
|
24
50
|
:internal_identifier => 'homepage_url',
|
@@ -27,6 +53,7 @@ class CreateWebsiteDefaultConfiguration
|
|
27
53
|
CategoryClassification.create(:category => website_setup_category, :classification => home_page_url_config_item_type)
|
28
54
|
configuration.configuration_item_types << home_page_url_config_item_type
|
29
55
|
|
56
|
+
# contact us email
|
30
57
|
contact_us_email_address_item_type = ConfigurationItemType.create(
|
31
58
|
:description => 'Contact Us Email',
|
32
59
|
:internal_identifier => 'contact_us_email_address',
|
@@ -34,13 +61,46 @@ class CreateWebsiteDefaultConfiguration
|
|
34
61
|
)
|
35
62
|
CategoryClassification.create(:category => website_setup_category, :classification => contact_us_email_address_item_type)
|
36
63
|
configuration.configuration_item_types << contact_us_email_address_item_type
|
37
|
-
|
64
|
+
|
65
|
+
#add email inquiries config
|
66
|
+
email_inquiries_config_item_type = ConfigurationItemType.create(
|
67
|
+
:description => 'Email inquiries',
|
68
|
+
:internal_identifier => 'email_inquiries'
|
69
|
+
)
|
70
|
+
email_inquiries_config_item_type.configuration_options << yes_option
|
71
|
+
email_inquiries_config_item_type.add_default_option(no_option)
|
72
|
+
CategoryClassification.create(:category => website_setup_category, :classification => email_inquiries_config_item_type)
|
73
|
+
|
74
|
+
configuration.configuration_item_types << email_inquiries_config_item_type
|
75
|
+
|
76
|
+
#add auto activate publications
|
77
|
+
auto_activate_config_item_type = ConfigurationItemType.create(
|
78
|
+
:description => 'Auto activate publications',
|
79
|
+
:internal_identifier => 'auto_active_publications'
|
80
|
+
)
|
81
|
+
auto_activate_config_item_type.configuration_options << no_option
|
82
|
+
auto_activate_config_item_type.add_default_option(yes_option)
|
83
|
+
CategoryClassification.create(:category => content_work_flow_category, :classification => auto_activate_config_item_type)
|
84
|
+
|
85
|
+
configuration.configuration_item_types << auto_activate_config_item_type
|
86
|
+
|
87
|
+
#add auto publish on save
|
88
|
+
publish_on_save_config_item_type = ConfigurationItemType.create(
|
89
|
+
:description => 'Publish on save',
|
90
|
+
:internal_identifier => 'publish_on_save'
|
91
|
+
)
|
92
|
+
publish_on_save_config_item_type.configuration_options << no_option
|
93
|
+
publish_on_save_config_item_type.add_default_option(yes_option)
|
94
|
+
CategoryClassification.create(:category => content_work_flow_category, :classification => publish_on_save_config_item_type)
|
95
|
+
|
96
|
+
configuration.configuration_item_types << publish_on_save_config_item_type
|
97
|
+
|
38
98
|
#password strength
|
39
99
|
simple_password_option = ConfigurationOption.create(
|
40
100
|
:description => 'Simple password',
|
41
|
-
:comment => 'must be
|
101
|
+
:comment => 'must be between 8 and 20 characters with no spaces',
|
42
102
|
:internal_identifier => 'simple_password_regex',
|
43
|
-
:value => '
|
103
|
+
:value => '^\S{8,20}$'
|
44
104
|
)
|
45
105
|
|
46
106
|
complex_password_option = ConfigurationOption.create(
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class AddWebsiteMemberRoles
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
website_role_type_parent = RoleType.find_or_create('website', 'Website')
|
5
|
+
RoleType.find_or_create('member', 'Member', website_role_type_parent)
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.down
|
9
|
+
RoleType.iid('website').destroy_all
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class NestKnitkitSecurityRoles
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
website_author = SecurityRole.find_by_internal_identifier('website_author')
|
5
|
+
layout_author = SecurityRole.find_by_internal_identifier('layout_author')
|
6
|
+
content_author = SecurityRole.find_by_internal_identifier('content_author')
|
7
|
+
designer = SecurityRole.find_by_internal_identifier('designer')
|
8
|
+
publisher = SecurityRole.find_by_internal_identifier('publisher')
|
9
|
+
|
10
|
+
website_builder = SecurityRole.create(:internal_identifier => 'website_builder', :description => 'Website Builder')
|
11
|
+
|
12
|
+
website_author.move_to_child_of(website_builder)
|
13
|
+
layout_author.move_to_child_of(website_builder)
|
14
|
+
content_author.move_to_child_of(website_builder)
|
15
|
+
designer.move_to_child_of(website_builder)
|
16
|
+
publisher.move_to_child_of(website_builder)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.down
|
20
|
+
website_author = SecurityRole.find_by_internal_identifier('website_author')
|
21
|
+
layout_author = SecurityRole.find_by_internal_identifier('layout_author')
|
22
|
+
content_author = SecurityRole.find_by_internal_identifier('content_author')
|
23
|
+
designer = SecurityRole.find_by_internal_identifier('designer')
|
24
|
+
publisher = SecurityRole.find_by_internal_identifier('publisher')
|
25
|
+
|
26
|
+
website_author.move_to_child_of(nil)
|
27
|
+
layout_author.move_to_child_of(nil)
|
28
|
+
content_author.move_to_child_of(nil)
|
29
|
+
designer.move_to_child_of(nil)
|
30
|
+
publisher.move_to_child_of(nil)
|
31
|
+
|
32
|
+
SecurityRole.find_by_internal_identifier('website_builder').destroy
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|