knitkit 2.1.15 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. checksums.yaml +7 -0
  2. data/app/controllers/knitkit/base_controller.rb +1 -1
  3. data/app/controllers/knitkit/comments_controller.rb +7 -2
  4. data/app/controllers/knitkit/erp_app/desktop/app_controller.rb +78 -98
  5. data/app/controllers/knitkit/erp_app/desktop/articles_controller.rb +65 -45
  6. data/app/controllers/knitkit/erp_app/desktop/content_controller.rb +22 -12
  7. data/app/controllers/knitkit/erp_app/desktop/file_assets_controller.rb +1 -1
  8. data/app/controllers/knitkit/erp_app/desktop/image_assets_controller.rb +28 -16
  9. data/app/controllers/knitkit/erp_app/desktop/inquiries_controller.rb +15 -49
  10. data/app/controllers/knitkit/erp_app/desktop/online_document_sections_controller.rb +4 -3
  11. data/app/controllers/knitkit/erp_app/desktop/position_controller.rb +69 -11
  12. data/app/controllers/knitkit/erp_app/desktop/theme_controller.rb +63 -60
  13. data/app/controllers/knitkit/erp_app/desktop/website_controller.rb +98 -82
  14. data/app/controllers/knitkit/erp_app/desktop/website_host_controller.rb +77 -0
  15. data/app/controllers/knitkit/erp_app/desktop/website_nav_controller.rb +64 -44
  16. data/app/controllers/knitkit/erp_app/desktop/website_nav_item_controller.rb +147 -0
  17. data/app/controllers/knitkit/erp_app/desktop/website_section_controller.rb +81 -45
  18. data/app/controllers/knitkit/mobile_controller.rb +15 -0
  19. data/app/controllers/knitkit/online_document_sections_controller.rb +2 -1
  20. data/app/controllers/knitkit/unauthorized_controller.rb +0 -1
  21. data/app/controllers/knitkit/website_sections_controller.rb +7 -4
  22. data/app/mailers/website_inquiry_mailer.rb +8 -7
  23. data/app/models/content.rb +11 -2
  24. data/app/models/document.rb +2 -17
  25. data/app/models/published_website.rb +96 -59
  26. data/app/models/theme.rb +100 -14
  27. data/app/models/website.rb +260 -28
  28. data/app/models/website_inquiry.rb +5 -12
  29. data/app/models/website_section.rb +9 -1
  30. data/app/views/knitkit/blogs/_add_comment.html.erb +44 -23
  31. data/app/views/knitkit/blogs/_comment.html.erb +4 -6
  32. data/app/views/knitkit/blogs/index.html.erb +63 -49
  33. data/app/views/knitkit/blogs/show.html.erb +17 -12
  34. data/app/views/knitkit/mobile/index.html.erb +162 -0
  35. data/app/views/knitkit/online_document_sections/index.html.erb +7 -5
  36. data/app/views/knitkit/unauthorized/index.html.erb +8 -4
  37. data/app/views/knitkit/website_sections/index.html.erb +8 -4
  38. data/app/views/layouts/knitkit/base.html.erb +79 -63
  39. data/app/views/layouts/knitkit/online_document_sections.html.erb +74 -52
  40. data/app/views/menus/knitkit/_default_menu.html.erb +4 -4
  41. data/app/views/menus/knitkit/_default_section_menu.html.erb +22 -23
  42. data/app/views/shared/knitkit/_bread_crumb.html.erb +10 -7
  43. data/app/views/shared/knitkit/_footer.html.erb +2 -2
  44. data/app/views/website_inquiry_mailer/inquiry.erb +23 -2
  45. data/app/widgets/contact_us/base.rb +25 -50
  46. data/app/widgets/contact_us/javascript/contact_us.js +7 -7
  47. data/app/widgets/contact_us/views/error.html.erb +6 -8
  48. data/app/widgets/contact_us/views/index.html.erb +28 -1
  49. data/app/widgets/contact_us/views/layouts/base.html.erb +9 -6
  50. data/app/widgets/contact_us/views/success.html.erb +3 -3
  51. data/app/widgets/google_map/views/index.html.erb +36 -36
  52. data/app/widgets/login/base.rb +1 -0
  53. data/app/widgets/login/javascript/login.js +3 -3
  54. data/app/widgets/login/views/index.html.erb +46 -26
  55. data/app/widgets/login/views/layouts/base.html.erb +15 -13
  56. data/app/widgets/login/views/login_header.html.erb +7 -9
  57. data/app/widgets/manage_profile/base.rb +116 -164
  58. data/app/widgets/manage_profile/views/_address.html.erb +184 -0
  59. data/app/widgets/manage_profile/views/_contact_information_form.html.erb +23 -192
  60. data/app/widgets/manage_profile/views/_email_address.html.erb +163 -0
  61. data/app/widgets/manage_profile/views/_password_form.html.erb +23 -20
  62. data/app/widgets/manage_profile/views/_phone_number.html.erb +165 -0
  63. data/app/widgets/manage_profile/views/_user_information_form.html.erb +49 -33
  64. data/app/widgets/manage_profile/views/error.html.erb +6 -0
  65. data/app/widgets/manage_profile/views/index.html.erb +44 -46
  66. data/app/widgets/manage_profile/views/layouts/base.html.erb +3 -1
  67. data/app/widgets/manage_profile/views/success.html.erb +5 -0
  68. data/app/widgets/reset_password/views/index.html.erb +33 -28
  69. data/app/widgets/reset_password/views/layouts/base.html.erb +10 -1
  70. data/app/widgets/search/base.rb +37 -25
  71. data/app/widgets/search/views/_inline_search_form.html.erb +12 -0
  72. data/app/widgets/search/views/_search_form.html.erb +41 -0
  73. data/app/widgets/search/views/index.html.erb +5 -3
  74. data/app/widgets/search/views/layouts/base.html.erb +13 -23
  75. data/app/widgets/search/views/show.html.erb +32 -47
  76. data/app/widgets/signup/base.rb +1 -1
  77. data/app/widgets/signup/javascript/signup.js +7 -9
  78. data/app/widgets/signup/views/_signup_form.html.erb +34 -29
  79. data/app/widgets/signup/views/error.html.erb +11 -11
  80. data/app/widgets/signup/views/index.html.erb +3 -2
  81. data/app/widgets/signup/views/layouts/base.html.erb +8 -5
  82. data/app/widgets/signup/views/success.html.erb +5 -4
  83. data/config/routes.rb +39 -28
  84. data/db/data_migrations/20120809020508_update_website_and_configuration.rb +3 -0
  85. data/db/migrate/20110211002317_setup_knitkit.rb +0 -1
  86. data/db/migrate/20131112013052_add_knitkit_missing_indexes.rb +33 -0
  87. data/db/migrate/20140622212723_update_website_inquiries.rb +22 -0
  88. data/db/migrate/20140911185022_add_publishing_to_website.rb +5 -0
  89. data/db/migrate/20141013073349_add_custom_fields_to_documents.rb +12 -0
  90. data/db/migrate/20141016101936_upgrade_remove_dynamic_attributes.rb +13 -0
  91. data/lib/knitkit.rb +0 -1
  92. data/lib/knitkit/engine.rb +1 -0
  93. data/lib/knitkit/extensions.rb +4 -0
  94. data/lib/knitkit/extensions/active_record/acts_as_commentable.rb +33 -0
  95. data/lib/knitkit/extensions/active_record/acts_as_document.rb +0 -12
  96. data/lib/knitkit/extensions/active_record/acts_as_publishable.rb +7 -10
  97. data/lib/knitkit/extensions/compass_ae/widgets/base.rb +2 -4
  98. data/lib/knitkit/extensions/compass_ae/widgets/widget_proxy_controller.rb +4 -1
  99. data/lib/knitkit/extensions/railties/action_view/helpers/blog_helper.rb +16 -13
  100. data/lib/knitkit/extensions/railties/action_view/helpers/content_helper.rb +10 -8
  101. data/lib/knitkit/extensions/railties/theme_support/asset_tag_helper.rb +123 -108
  102. data/lib/knitkit/extensions/will_paginate/link_renderer.rb +67 -0
  103. data/lib/knitkit/routing_filter/section_router.rb +10 -8
  104. data/lib/knitkit/syntax_validator.rb +2 -2
  105. data/lib/knitkit/version.rb +7 -3
  106. data/public/images/inline_edit/close.png +0 -0
  107. data/public/images/knitkit/close_window.png +0 -0
  108. data/public/images/knitkit/logo.png +0 -0
  109. data/public/images/knitkit/splash/images/add-site.png +0 -0
  110. data/public/images/knitkit/splash/images/adjust-site.png +0 -0
  111. data/public/images/knitkit/splash/images/browse-site.png +0 -0
  112. data/public/images/knitkit/splash/images/find-themes.png +0 -0
  113. data/public/images/knitkit/splash/images/settings.png +0 -0
  114. data/public/images/knitkit/splash/images/tutorials.png +0 -0
  115. data/public/images/knitkit/splash/splash.png +0 -0
  116. data/public/javascripts/erp_app/desktop/applications/knitkit/articles_grid_panel.js +656 -627
  117. data/public/javascripts/erp_app/desktop/applications/knitkit/center_region.js +444 -333
  118. data/public/javascripts/erp_app/desktop/applications/knitkit/{east_region.js → east_region/east_region.js} +33 -33
  119. data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/file_assets_panel.js +332 -0
  120. data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_data_view.js +144 -0
  121. data/public/javascripts/erp_app/desktop/applications/knitkit/east_region/image_assets_panel.js +335 -0
  122. data/public/javascripts/erp_app/desktop/applications/knitkit/{widgets_panel.js → east_region/widgets_panel.js} +55 -55
  123. data/public/javascripts/erp_app/desktop/applications/knitkit/inquiries_grid_panel.js +150 -37
  124. data/public/javascripts/erp_app/desktop/applications/knitkit/module.js +228 -96
  125. data/public/javascripts/erp_app/desktop/applications/knitkit/publish_window.js +89 -85
  126. data/public/javascripts/erp_app/desktop/applications/knitkit/published_grid_panel.js +238 -217
  127. data/public/javascripts/erp_app/desktop/applications/knitkit/select_roles_window.js +59 -54
  128. data/public/javascripts/erp_app/desktop/applications/knitkit/splash_screen.js +170 -0
  129. data/public/javascripts/erp_app/desktop/applications/knitkit/top_menu/main_menu.js +1168 -0
  130. data/public/javascripts/erp_app/desktop/applications/knitkit/top_menu/websites_combo.js +71 -0
  131. data/public/javascripts/erp_app/desktop/applications/knitkit/versions_grid_panel.js +301 -306
  132. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/article.js +216 -0
  133. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/document.js +182 -153
  134. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/host.js +48 -65
  135. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/menu.js +93 -94
  136. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/section.js +523 -197
  137. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website_nav_items.js +20 -34
  138. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/hosts_tree_panel.js +74 -0
  139. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/menu_tree_panel.js +245 -0
  140. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/site_contents_tree_panel.js +360 -0
  141. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/themes_tree_panel.js +348 -0
  142. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/west_region.js +106 -1132
  143. data/public/javascripts/knitkit/bootstrap-datepicker.js +474 -0
  144. data/public/javascripts/knitkit/bootstrap.min.js +7 -0
  145. data/public/javascripts/knitkit/confirm-bootstrap.js +110 -0
  146. data/public/javascripts/knitkit/inline_editing.js +73 -50
  147. data/public/javascripts/knitkit/jquery.maskedinput.min.js +7 -0
  148. data/public/javascripts/knitkit/mobile/app/view/Main.js +108 -0
  149. data/public/javascripts/knitkit/mobile/ux/slidenavigation/View.js +734 -0
  150. data/public/javascripts/knitkit/theme.js +76 -0
  151. data/public/stylesheets/erp_app/desktop/applications/knitkit/knitkit.css +95 -35
  152. data/public/stylesheets/knitkit/bootstrap-responsive.min.css +10 -0
  153. data/public/stylesheets/knitkit/bootstrap.min.css +7 -0
  154. data/public/stylesheets/knitkit/custom.css +122 -0
  155. data/public/stylesheets/knitkit/datepicker.css +182 -0
  156. data/public/stylesheets/knitkit/inline_editing.css +58 -58
  157. data/spec/controllers/knitkit/erp_app/desktop/website_section_controller_spec.rb +1 -1
  158. data/spec/dummy/config/application.rb +1 -1
  159. data/spec/models/article_spec.rb +3 -3
  160. data/spec/models/content_spec.rb +9 -9
  161. data/spec/models/website_spec.rb +1 -1
  162. metadata +100 -114
  163. data/app/helpers/application_helper.rb +0 -134
  164. data/app/views/knitkit/articles/index.html.erb +0 -3
  165. data/app/views/knitkit/articles/show.html.erb +0 -4
  166. data/app/views/menus/knitkit/_default_sub_menu.html.erb +0 -43
  167. data/app/views/menus/knitkit/_default_sub_section_menu.html.erb +0 -47
  168. data/app/widgets/contact_us/views/_contact_form.html.erb +0 -36
  169. data/app/widgets/dynamic_forms/base.rb +0 -139
  170. data/app/widgets/dynamic_forms/javascript/dynamic_forms.js +0 -110
  171. data/app/widgets/dynamic_forms/views/error.html.erb +0 -5
  172. data/app/widgets/dynamic_forms/views/index.html.erb +0 -8
  173. data/app/widgets/dynamic_forms/views/success.html.erb +0 -4
  174. data/app/widgets/dynamic_grid/base.rb +0 -130
  175. data/app/widgets/dynamic_grid/helpers/controller/dynamic_grid_controller_helper.rb +0 -3
  176. data/app/widgets/dynamic_grid/helpers/view/dynamic_grid_view_helper.rb +0 -3
  177. data/app/widgets/dynamic_grid/javascript/dynamic_grid.js +0 -177
  178. data/app/widgets/dynamic_grid/views/index.html.erb +0 -14
  179. data/app/widgets/login/views/reset_password.html.erb +0 -26
  180. data/app/widgets/manage_profile/views/default_type_error.html.erb +0 -5
  181. data/app/widgets/scaffold/base.rb +0 -87
  182. data/app/widgets/scaffold/helpers/controller/scaffold_controller_helper.rb +0 -3
  183. data/app/widgets/scaffold/helpers/view/scaffold_view_helper.rb +0 -3
  184. data/app/widgets/scaffold/javascript/scaffold.js +0 -337
  185. data/app/widgets/scaffold/views/index.html.erb +0 -15
  186. data/app/widgets/search/views/_search.html.erb +0 -39
  187. data/public/images/knitkit/bullet.png +0 -0
  188. data/public/images/knitkit/close.png +0 -0
  189. data/public/images/knitkit/content.png +0 -0
  190. data/public/images/knitkit/footer.png +0 -0
  191. data/public/images/knitkit/graphic.png +0 -0
  192. data/public/images/knitkit/greyFadeDown.png +0 -0
  193. data/public/images/knitkit/link.png +0 -0
  194. data/public/images/knitkit/menu.png +0 -0
  195. data/public/images/knitkit/menu_select.png +0 -0
  196. data/public/images/knitkit/search.png +0 -0
  197. data/public/images/knitkit/tooltip.gif +0 -0
  198. data/public/javascripts/ajax_pagination.js +0 -33
  199. data/public/javascripts/datepicker.js +0 -445
  200. data/public/javascripts/erp_app/desktop/applications/knitkit/file_assets_panel.js +0 -341
  201. data/public/javascripts/erp_app/desktop/applications/knitkit/image_assets_data_view.js +0 -31
  202. data/public/javascripts/erp_app/desktop/applications/knitkit/image_assets_panel.js +0 -263
  203. data/public/javascripts/erp_app/desktop/applications/knitkit/section_articles_grid_panel.js +0 -722
  204. data/public/javascripts/erp_app/desktop/applications/knitkit/themes_tree_panel.js +0 -585
  205. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/website.js +0 -155
  206. data/public/javascripts/knitkit/helpers.js +0 -26
  207. data/public/stylesheets/datepicker.css +0 -121
  208. data/public/stylesheets/extjs/resources/css/knitkit_extjs_4.css +0 -233
  209. data/public/stylesheets/knitkit/style.css +0 -426
@@ -1,10 +1,12 @@
1
1
  Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function (self, items, record) {
2
+ var websiteId = compassDesktop.getModule('knitkit-win').currentWebsite.id;
3
+
2
4
  if (currentUser.hasCapability('edit', 'WebsiteNavItem')) {
3
5
  items.push({
4
6
  text: 'Update Menu Item',
5
7
  iconCls: 'icon-edit',
6
8
  handler: function (btn) {
7
- var addMenuItemWindow = Ext.create("Ext.window.Window", {
9
+ Ext.create("Ext.window.Window", {
8
10
  layout: 'fit',
9
11
  width: 375,
10
12
  title: 'Update Menu Item',
@@ -15,14 +17,15 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
15
17
  labelWidth: 50,
16
18
  frame: false,
17
19
  bodyStyle: 'padding:5px 5px 0',
18
- url: '/knitkit/erp_app/desktop/website_nav/update_menu_item',
20
+ url: '/knitkit/erp_app/desktop/website_nav_item/' + record.data.websiteNavItemId,
19
21
  defaults: {
20
- width: 225
22
+ width: 375
21
23
  },
22
24
  items: [
23
25
  {
24
26
  xtype: 'textfield',
25
27
  fieldLabel: 'Title',
28
+ width: 320,
26
29
  value: record.data.text,
27
30
  allowBlank: false,
28
31
  name: 'title'
@@ -30,6 +33,7 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
30
33
  {
31
34
  xtype: 'combo',
32
35
  fieldLabel: 'Link to',
36
+ width: 320,
33
37
  name: 'link_to',
34
38
  id: 'knitkit_nav_item_link_to',
35
39
  allowBlank: false,
@@ -41,7 +45,6 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
41
45
  triggerAction: 'all',
42
46
  store: [
43
47
  ['website_section', 'Section'],
44
- //['article','Article'],
45
48
  ['url', 'Url']
46
49
 
47
50
  ],
@@ -51,17 +54,14 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
51
54
  switch (newValue) {
52
55
  case 'website_section':
53
56
  Ext.getCmp('knitkit_website_nav_item_section').show();
54
- //Ext.getCmp('knitkit_website_nav_item_article').hide();
55
57
  Ext.getCmp('knitkit_website_nav_item_url').hide();
56
58
  break;
57
59
  case 'article':
58
60
  Ext.getCmp('knitkit_website_nav_item_section').hide();
59
- //Ext.getCmp('knitkit_website_nav_item_article').show();
60
61
  Ext.getCmp('knitkit_website_nav_item_url').hide();
61
62
  break;
62
63
  case 'url':
63
64
  Ext.getCmp('knitkit_website_nav_item_section').hide();
64
- //Ext.getCmp('knitkit_website_nav_item_article').hide();
65
65
  Ext.getCmp('knitkit_website_nav_item_url').show();
66
66
  break;
67
67
  }
@@ -70,7 +70,7 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
70
70
  },
71
71
  {
72
72
  xtype: 'combo',
73
- width: 300,
73
+ width: 320,
74
74
  itemId: 'knitkit_website_nav_item_section',
75
75
  hiddenName: 'website_section_id',
76
76
  name: 'website_section_id',
@@ -83,13 +83,13 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
83
83
  type: 'json'
84
84
  },
85
85
  extraParams: {
86
- website_id: record.data.websiteId
86
+ website_id: websiteId
87
87
  }
88
88
  },
89
89
  fields: [
90
90
  {
91
91
  name: 'id',
92
- type: 'integer'
92
+ type: 'string'
93
93
  },
94
94
  {
95
95
  name: 'title_permalink',
@@ -97,10 +97,8 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
97
97
  }
98
98
  ]
99
99
  }),
100
- //forceSelection: true,
101
100
  editable: false,
102
101
  fieldLabel: 'Section',
103
- //autoSelect: true,
104
102
  typeAhead: false,
105
103
  queryMode: 'local',
106
104
  displayField: 'title_permalink',
@@ -114,11 +112,6 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
114
112
  id: 'knitkit_website_nav_item_url',
115
113
  hidden: (record.data.linkToType == 'website_section' || record.data.linkToType == 'article'),
116
114
  name: 'url'
117
- },
118
- {
119
- xtype: 'hidden',
120
- name: 'website_nav_item_id',
121
- value: record.data.websiteNavItemId
122
115
  }
123
116
  ]
124
117
  }),
@@ -129,18 +122,17 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
129
122
  'click': function (button) {
130
123
  var window = button.findParentByType('window'),
131
124
  formPanel = window.query('form')[0];
132
- self.setWindowStatus('Updating menu item...');
125
+
133
126
  formPanel.getForm().submit({
134
- reset: false,
127
+ waitMsg: 'Please wait...',
128
+ method: 'PUT',
135
129
  success: function (form, action) {
136
- self.clearWindowStatus();
137
130
  var obj = Ext.decode(action.response.responseText);
138
131
  if (obj.success) {
139
132
  record.set('linkedToId', parseInt(obj.linkedToId));
140
133
  record.set('linkToType', obj.linkToType);
141
134
  record.set('url', obj.url);
142
135
  record.set('text', obj.title);
143
- record.commit();
144
136
  window.close();
145
137
  }
146
138
  else {
@@ -148,7 +140,6 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
148
140
  }
149
141
  },
150
142
  failure: function (form, action) {
151
- self.clearWindowStatus();
152
143
  if (action.response === null) {
153
144
  Ext.Msg.alert("Error", 'Could not create menu item');
154
145
  }
@@ -163,8 +154,8 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
163
154
  },
164
155
  {
165
156
  text: 'Close',
166
- handler: function () {
167
- addMenuItemWindow.close();
157
+ handler: function (btn) {
158
+ btn.up('window').close();
168
159
  }
169
160
  }
170
161
  ],
@@ -189,7 +180,8 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
189
180
  iconCls: 'icon-document_lock',
190
181
  listeners: {
191
182
  'click': function () {
192
- self.changeSecurity(record, '/knitkit/erp_app/desktop/website_nav/update_security', record.data.websiteNavItemId);
183
+ var westRegion = Ext.getCmp('knitkitWestRegion');
184
+ westRegion.changeSecurity(record, '/knitkit/erp_app/desktop/website_nav_item/' + record.data.websiteNavItemId + '/update_security', '');
193
185
  }
194
186
  }
195
187
  });
@@ -205,25 +197,19 @@ Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions = function
205
197
  return false;
206
198
  }
207
199
  else if (btn == 'yes') {
208
- self.setWindowStatus('Deleting menu item...');
209
200
  Ext.Ajax.request({
210
- url: '/knitkit/erp_app/desktop/website_nav/delete_menu_item',
211
- method: 'POST',
212
- params: {
213
- id: record.data.websiteNavItemId
214
- },
201
+ url: '/knitkit/erp_app/desktop/website_nav_item/' + record.get('websiteNavItemId'),
202
+ method: 'DELETE',
215
203
  success: function (response) {
216
- self.clearWindowStatus();
217
204
  var obj = Ext.decode(response.responseText);
218
205
  if (obj.success) {
219
- record.remove(true);
206
+ record.remove();
220
207
  }
221
208
  else {
222
209
  Ext.Msg.alert('Error', 'Error deleting menu item');
223
210
  }
224
211
  },
225
212
  failure: function (response) {
226
- self.clearWindowStatus();
227
213
  Ext.Msg.alert('Error', 'Error deleting menu item');
228
214
  }
229
215
  });
@@ -0,0 +1,74 @@
1
+ var store = Ext.create('Ext.data.TreeStore', {
2
+ proxy: {
3
+ type: 'ajax',
4
+ url: '/knitkit/erp_app/desktop/website_host',
5
+ timeout: 90000
6
+ },
7
+ root: {
8
+ text: 'Host Mappings',
9
+ iconCls: 'icon-gear',
10
+ expanded: true
11
+ },
12
+ fields: [
13
+ 'text',
14
+ 'url',
15
+ 'iconCls',
16
+ 'websiteHostId',
17
+ 'host',
18
+ 'leaf'
19
+ ],
20
+ listeners: {
21
+ 'load': function (store, node, records) {
22
+ store.getRootNode().expandChildren();
23
+ }
24
+ }
25
+ });
26
+
27
+ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.HostListPanel", {
28
+ extend: "Ext.tree.Panel",
29
+ id: 'knitkitHostListPanel',
30
+ itemId: 'knitkitHostListPanel',
31
+ alias: 'widget.knitkit_hostspanel',
32
+ header: false,
33
+
34
+ viewConfig: {
35
+ markDirty: false
36
+ },
37
+
38
+ store: store,
39
+
40
+ clearWebsite: function(){
41
+ var store = this.getStore();
42
+ store.getProxy().extraParams = {};
43
+ store.load();
44
+ },
45
+
46
+ selectWebsite: function (website) {
47
+ var store = this.getStore();
48
+ store.getProxy().extraParams = {
49
+ website_id: website.id
50
+ };
51
+ store.load();
52
+ },
53
+
54
+ listeners: {
55
+ 'itemcontextmenu': function (view, record, htmlItem, index, e) {
56
+ e.stopEvent();
57
+
58
+ if (record.isRoot()) {
59
+ items = [Compass.ErpApp.Desktop.Applications.Knitkit.newHostMenuItem];
60
+ }
61
+ else{
62
+ items = Compass.ErpApp.Desktop.Applications.Knitkit.addHostOptions(self, [], record);
63
+ }
64
+
65
+ if (items.length != 0) {
66
+ var contextMenu = Ext.create("Ext.menu.Menu", {
67
+ items: items
68
+ });
69
+ contextMenu.showAt(e.xy);
70
+ }
71
+ }
72
+ }
73
+
74
+ });
@@ -0,0 +1,245 @@
1
+ var store = Ext.create('Ext.data.TreeStore', {
2
+ proxy: {
3
+ type: 'ajax',
4
+ url: '/knitkit/erp_app/desktop/website_nav',
5
+ timeout: 90000
6
+ },
7
+ root: {
8
+ text: 'Menus and Navigation',
9
+ expanded: true
10
+ },
11
+ fields: [
12
+ 'text',
13
+ 'iconCls',
14
+ 'leaf',
15
+ 'canAddMenuItems',
16
+ 'isWebsiteNavItem',
17
+ 'isSecured',
18
+ 'websiteId',
19
+ 'isSectionRoot',
20
+ 'isWebsiteNav',
21
+ 'websiteNavItemId',
22
+ 'websiteNavId',
23
+ 'roles',
24
+ 'url',
25
+ 'linkedToId',
26
+ 'linkToType'
27
+ ],
28
+ listeners: {
29
+ 'load': function (store, node, records) {
30
+ store.getRootNode().expandChildren();
31
+ }
32
+ }
33
+ });
34
+
35
+ var pluginItems = [];
36
+
37
+ pluginItems.push({
38
+ ptype: 'treeviewdragdrop'
39
+ });
40
+
41
+ var viewConfigItems = {
42
+ markDirty: false,
43
+ plugins: pluginItems,
44
+ listeners: {
45
+ 'beforedrop': function (node, data, overModel, dropPosition, dropFunction, options) {
46
+ return overModel.data['isWebsiteNavItem'];
47
+ },
48
+ 'drop': function (node, data, overModel, dropPosition, options) {
49
+ var positionArray = [];
50
+ var counter = 0;
51
+ var dropNode = data.records[0];
52
+
53
+ if (dropNode.data['isWebsiteNavItem']) {
54
+ overModel.parentNode.eachChild(function (node) {
55
+ positionArray.push({
56
+ id: node.data.websiteNavItemId,
57
+ position: counter,
58
+ klass: 'WebsiteNavItem'
59
+ });
60
+ counter++;
61
+ });
62
+ }
63
+
64
+ Ext.Ajax.request({
65
+ url: '/knitkit/erp_app/desktop/position/update_menu_item_position',
66
+ method: 'PUT',
67
+ jsonData: {
68
+ position_array: positionArray
69
+ },
70
+ success: function (response) {
71
+ var obj = Ext.decode(response.responseText);
72
+ if (obj.success) {
73
+
74
+ }
75
+ else {
76
+ Ext.Msg.alert("Error", obj.message);
77
+ }
78
+ },
79
+ failure: function (response) {
80
+ Ext.Msg.alert('Error', 'Error saving positions.');
81
+ }
82
+ });
83
+ }
84
+ }
85
+ };
86
+
87
+ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.MenuTreePanel", {
88
+ extend: "Ext.tree.Panel",
89
+ id: 'knitkitMenuTreePanel',
90
+ itemId: 'knitkitMenuTreePanel',
91
+ alias: 'widget.knitkit_menutreepanel',
92
+ header: false,
93
+ viewConfig: viewConfigItems,
94
+ root: {
95
+ text: 'Menus',
96
+ iconCls: 'icon-content',
97
+ expanded: true
98
+ },
99
+
100
+ store: store,
101
+
102
+ clearWebsite: function(){
103
+ var store = this.getStore();
104
+ store.getProxy().extraParams = {};
105
+ store.load();
106
+ },
107
+
108
+ selectWebsite: function (website) {
109
+ var store = this.getStore();
110
+ store.getProxy().extraParams = {
111
+ website_id: website.id
112
+ };
113
+ store.load();
114
+ },
115
+
116
+ listeners: {
117
+ 'itemcontextmenu': function (view, record, htmlItem, index, e) {
118
+ e.stopEvent();
119
+ var items = [];
120
+
121
+ items = Compass.ErpApp.Desktop.Applications.Knitkit.addMenuOptions(self, items, record);
122
+
123
+ if(record.isRoot()){
124
+ items.push(Compass.ErpApp.Desktop.Applications.Knitkit.newNavigationMenuItem);
125
+ }
126
+ else if (record.data['isWebsiteNav']) {
127
+ if (currentUser.hasCapability('edit', 'WebsiteNav')) {
128
+ items.push({
129
+ text: 'Update',
130
+ iconCls: 'icon-edit',
131
+ handler: function (btn) {
132
+ Ext.create("Ext.window.Window", {
133
+ layout: 'fit',
134
+ modal: true,
135
+ width: 375,
136
+ title: 'Update Menu',
137
+ height: 120,
138
+ plain: true,
139
+ buttonAlign: 'center',
140
+ items: Ext.create('widget.form', {
141
+ labelWidth: 50,
142
+ frame: false,
143
+ bodyStyle: 'padding:5px 5px 0',
144
+ url: '/knitkit/erp_app/desktop/website_nav/' + record.data.websiteNavId,
145
+ defaults: {
146
+ width: 375
147
+ },
148
+ items: [
149
+ {
150
+ xtype: 'textfield',
151
+ fieldLabel: 'Name',
152
+ width: 320,
153
+ value: record.data.text,
154
+ id: 'knitkit_website_nav_update_name',
155
+ allowBlank: false,
156
+ name: 'name'
157
+ }
158
+ ]
159
+ }),
160
+ buttons: [
161
+ {
162
+ text: 'Submit',
163
+ listeners: {
164
+ 'click': function (button) {
165
+ var window = button.findParentByType('window');
166
+ var formPanel = window.query('form')[0];
167
+
168
+ formPanel.getForm().submit({
169
+ method: 'PUT',
170
+ waitMsg: 'Please Wait...',
171
+ success: function (form, action) {
172
+ var obj = Ext.decode(action.response.responseText);
173
+ if (obj.success) {
174
+ var newText = Ext.getCmp('knitkit_website_nav_update_name').getValue();
175
+ record.set('text', newText);
176
+ window.close();
177
+ }
178
+ else {
179
+ Ext.Msg.alert("Error", obj.msg);
180
+ }
181
+ },
182
+ failure: function (form, action) {
183
+ var obj = Ext.decode(action.response.responseText);
184
+ Ext.Msg.alert("Error", obj.msg);
185
+ }
186
+ });
187
+ }
188
+ }
189
+ },
190
+ {
191
+ text: 'Close',
192
+ handler: function (btn) {
193
+ btn.up('window').close();
194
+ }
195
+ }
196
+ ]
197
+ }).show();
198
+ }
199
+ });
200
+ }
201
+
202
+ if (currentUser.hasCapability('delete', 'WebsiteNav')) {
203
+ items.push({
204
+ text: 'Delete',
205
+ iconCls: 'icon-delete',
206
+ handler: function (btn) {
207
+ Ext.MessageBox.confirm('Confirm', 'Are you sure you want to delete this menu?', function (btn) {
208
+ if (btn == 'no') {
209
+ return false;
210
+ }
211
+ else if (btn == 'yes') {
212
+ Ext.Ajax.request({
213
+ url: '/knitkit/erp_app/desktop/website_nav/' + record.data.websiteNavId,
214
+ method: 'DELETE',
215
+ success: function (response) {
216
+ var obj = Ext.decode(response.responseText);
217
+ if (obj.success) {
218
+ record.remove();
219
+ }
220
+ else {
221
+ Ext.Msg.alert('Error', 'Error deleting menu');
222
+ }
223
+ },
224
+ failure: function (response) {
225
+ Ext.Msg.alert('Error', 'Error deleting menu');
226
+ }
227
+ });
228
+ }
229
+ });
230
+ }
231
+ });
232
+ }
233
+ }
234
+ else if (record.data['isWebsiteNavItem']) {
235
+ items = Compass.ErpApp.Desktop.Applications.Knitkit.addWebsiteNavItemOptions(self, items, record);
236
+ }
237
+ if (items.length != 0) {
238
+ var contextMenu = Ext.create("Ext.menu.Menu", {
239
+ items: items
240
+ });
241
+ contextMenu.showAt(e.xy);
242
+ }
243
+ }
244
+ }
245
+ });