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
@@ -0,0 +1,335 @@
1
+ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.ImageAssetsPanel", {
2
+ extend: "Ext.tab.Panel",
3
+ alias: 'widget.knitkit_ImageAssetsPanel',
4
+ cls: 'image-assets-panel',
5
+
6
+ constructor: function (config) {
7
+ this.websiteId = null;
8
+ var self = this;
9
+ self.module = config.module;
10
+
11
+ this.sharedImageAssetsDataView = Ext.create("Compass.ErpApp.Desktop.Applications.Knitkit.ImageAssetsDataView", {
12
+ url: '/knitkit/erp_app/desktop/image_assets/shared/get_images',
13
+ uploadUrl: '/knitkit/erp_app/desktop/image_assets/shared/upload_file',
14
+ module: config.module,
15
+ listeners: {
16
+ afterrender: function () {
17
+ if (currentUser.hasCapability('view', 'GlobalImageAsset')) {
18
+ self.sharedImageAssetsDataView.directory = 'root_node';
19
+ var store = self.sharedImageAssetsDataView.getStore();
20
+ store.load({
21
+ params: {
22
+ directory: 'root_node'
23
+ }
24
+ });
25
+ }
26
+ },
27
+ imageuploaded: function (comp) {
28
+ self.sharedImageAssetsTreePanel.getStore().load({
29
+ callback: function () {
30
+ self.sharedImageAssetsTreePanel.getView().refresh();
31
+ }
32
+ });
33
+ }
34
+ }
35
+ });
36
+ this.websiteImageAssetsDataView = Ext.create("Compass.ErpApp.Desktop.Applications.Knitkit.ImageAssetsDataView", {
37
+ module: config.module,
38
+ url: '/knitkit/erp_app/desktop/image_assets/website/get_images',
39
+ uploadUrl: '/knitkit/erp_app/desktop/image_assets/website/upload_file',
40
+ listeners: {
41
+ imageuploaded: function (comp) {
42
+ var store = self.websiteImageAssetsTreePanel.getStore();
43
+ store.load({
44
+ callback: function () {
45
+ self.websiteImageAssetsDataView.getStore().load({
46
+ params: {
47
+ directory: 'root_node',
48
+ website_id: self.websiteId
49
+ }
50
+ });
51
+ }
52
+ });
53
+ }
54
+ }
55
+ });
56
+
57
+ this.sharedImageAssetsTreePanel = Ext.create("Compass.ErpApp.Shared.FileManagerTree", {
58
+ region: 'north',
59
+ rootText: 'Shared Images',
60
+ collapsible: false,
61
+ allowDownload: false,
62
+ addViewContentsToContextMenu: false,
63
+ showNewFileMenuItem: false,
64
+ rootVisible: true,
65
+ multiSelect: true,
66
+ controllerPath: '/knitkit/erp_app/desktop/image_assets/shared',
67
+ standardUploadUrl: '/knitkit/erp_app/desktop/image_assets/shared/upload_file',
68
+ url: '/knitkit/erp_app/desktop/image_assets/shared/expand_directory',
69
+ containerScroll: true,
70
+ height: 200,
71
+ additionalContextMenuItems: [
72
+ {
73
+ nodeType: 'leaf',
74
+ text: 'Insert image at cursor',
75
+ iconCls: 'icon-add',
76
+ listeners: {
77
+ scope: self,
78
+ 'click': function () {
79
+ var node = this.sharedImageAssetsTreePanel.selectedNode;
80
+
81
+ var imgTagHtml = '<img';
82
+ if (!Ext.isEmpty(node.data.width) && !Ext.isEmpty(node.data.height)) {
83
+ imgTagHtml += (' width="' + node.data.width + '" height="' + node.data.height + '"');
84
+ }
85
+ imgTagHtml += ' alt="' + node.get('name') + '" src="' + node.get('url') + '" >';
86
+ self.module.centerRegion.insertHtmlIntoActiveCkEditorOrCodemirror(imgTagHtml);
87
+ }
88
+ }
89
+ }
90
+ ],
91
+ listeners: {
92
+ 'allowdelete': function () {
93
+ return currentUser.hasCapability('delete', 'GlobalImageAsset');
94
+ },
95
+ 'allowupload': function () {
96
+ return currentUser.hasCapability('upload', 'GlobalImageAsset');
97
+ },
98
+ 'itemclick': function (view, record, item, index, e) {
99
+ e.stopEvent();
100
+ if (!record.data["leaf"]) {
101
+ self.sharedImageAssetsDataView.directory = record.data.id;
102
+ var store = self.sharedImageAssetsDataView.getStore();
103
+ store.load({
104
+ params: {
105
+ directory: record.data.id
106
+ }
107
+ });
108
+ }
109
+ else {
110
+ return false;
111
+ }
112
+ },
113
+ 'fileDeleted': function (fileTreePanel, node) {
114
+ var store = self.sharedImageAssetsDataView.getStore();
115
+ store.load({
116
+ params: {
117
+ directory: node.parentNode.data.id
118
+ }
119
+ });
120
+ },
121
+ 'fileUploaded': function (fileTreePanel, node) {
122
+ var store = self.sharedImageAssetsDataView.getStore();
123
+ store.load({
124
+ params: {
125
+ directory: node.data.id
126
+ }
127
+ });
128
+ },
129
+ 'downloadfile': function (fileTreePanel, node) {
130
+ window.open("/download/" + node.data.text + "?path=" + node.data.downloadPath + '&disposition=attachment', 'mywindow', 'width=400,height=200');
131
+ return false;
132
+ }
133
+ }
134
+ });
135
+
136
+ this.websiteImageAssetsTreePanel = Ext.create("Compass.ErpApp.Shared.FileManagerTree", {
137
+ autoLoadRoot: false,
138
+ region: 'north',
139
+ rootText: 'Images',
140
+ collapsible: false,
141
+ allowDownload: false,
142
+ addViewContentsToContextMenu: false,
143
+ showNewFileMenuItem: false,
144
+ rootVisible: true,
145
+ multiSelect: true,
146
+ controllerPath: '/knitkit/erp_app/desktop/image_assets/website',
147
+ standardUploadUrl: '/knitkit/erp_app/desktop/image_assets/website/upload_file',
148
+ url: '/knitkit/erp_app/desktop/image_assets/website/expand_directory',
149
+ containerScroll: true,
150
+ height: 200,
151
+ additionalContextMenuItems: [
152
+ {
153
+ nodeType: 'leaf',
154
+ text: 'Insert image at cursor',
155
+ iconCls: 'icon-add',
156
+ listeners: {
157
+ scope: self,
158
+ 'click': function () {
159
+ var node = this.websiteImageAssetsTreePanel.selectedNode;
160
+
161
+ var imgTagHtml = '<img';
162
+ if (!Ext.isEmpty(node.data.width) && !Ext.isEmpty(node.data.height)) {
163
+ imgTagHtml += (' width="' + node.data.width + '" height="' + node.data.height + '"');
164
+ }
165
+ imgTagHtml += ' alt="' + node.get('name') + '" src="' + node.get('url') + '" >';
166
+ self.module.centerRegion.insertHtmlIntoActiveCkEditorOrCodemirror(imgTagHtml);
167
+ }
168
+ }
169
+ }
170
+ ],
171
+ listeners: {
172
+ 'load': function (store, node, records) {
173
+ store.getRootNode().data.text = self.websiteName;
174
+ self.websiteImageAssetsTreePanel.view.refresh();
175
+ },
176
+ 'itemclick': function (view, record, item, index, e) {
177
+ if (self.websiteId !== null) {
178
+ e.stopEvent();
179
+ if (!record.data["leaf"]) {
180
+ self.websiteImageAssetsDataView.directory = record.data.id;
181
+ self.websiteImageAssetsDataView.websiteId = self.websiteId;
182
+ var store = self.websiteImageAssetsDataView.getStore();
183
+ store.load({
184
+ params: {
185
+ directory: record.data.id,
186
+ website_id: self.websiteId
187
+ }
188
+ });
189
+ }
190
+ else {
191
+ return false;
192
+ }
193
+ }
194
+ },
195
+ 'fileDeleted': function (fileTreePanel, node) {
196
+ self.websiteImageAssetsDataView.getStore().load({
197
+ params: {
198
+ directory: node.parentNode.data.downloadPath,
199
+ website_id: self.websiteId
200
+ }
201
+ });
202
+ },
203
+ 'fileUploaded': function (fileTreePanel, node) {
204
+ self.websiteImageAssetsDataView.getStore().load({
205
+ params: {
206
+ directory: node.data.id,
207
+ website_id: self.websiteId
208
+ }
209
+ });
210
+ },
211
+ 'downloadfile': function (fileTreePanel, node) {
212
+ window.open("/download/" + node.data.text + "?path=" + node.data.downloadPath + '&disposition=attachment', 'mywindow', 'width=400,height=200');
213
+ return false;
214
+ }
215
+ }
216
+ });
217
+
218
+ var sharedImagesPanel = Ext.create('Ext.panel.Panel', {
219
+ cls: 'image-assets',
220
+ region: 'center',
221
+ margins: '0 0 0 0',
222
+ layout: 'fit',
223
+ items: this.sharedImageAssetsDataView
224
+ });
225
+
226
+ var websiteImagesPanel = Ext.create('Ext.panel.Panel', {
227
+ cls: 'image-assets',
228
+ region: 'center',
229
+ margins: '0 0 0 0',
230
+ layout: 'fit',
231
+ items: this.websiteImageAssetsDataView
232
+ });
233
+
234
+ var sharedImagesLayout = Ext.create('Ext.panel.Panel', {
235
+ layout: 'border',
236
+ title: 'Shared',
237
+ items: [this.sharedImageAssetsTreePanel, sharedImagesPanel]
238
+ });
239
+
240
+ var websiteImagesLayout = Ext.create('Ext.panel.Panel', {
241
+ autoRender: true,
242
+ layout: 'border',
243
+ title: 'Website',
244
+ items: [this.websiteImageAssetsTreePanel, websiteImagesPanel],
245
+ listeners: {
246
+ scope: self,
247
+ 'show': function (panel) {
248
+ self.reloadWebsiteImageAssetsTreePanel(self.websiteId);
249
+ }
250
+ }
251
+ });
252
+
253
+ this.selectWebsite = function (website) {
254
+ this.websiteId = website.id;
255
+ this.websiteName = website.name;
256
+ this.reloadWebsiteImageAssetsTreePanel(website.id);
257
+ };
258
+
259
+ this.clearWebsite = function () {
260
+ this.websiteId = null;
261
+ this.websiteName = null;
262
+
263
+ this.websiteImageAssetsTreePanel.extraPostData = {
264
+ website_id: null
265
+ };
266
+ this.websiteImageAssetsTreePanel.getStore().setProxy({
267
+ type: 'ajax',
268
+ url: '/knitkit/erp_app/desktop/file_assets/website/expand_directory',
269
+ extraParams: {
270
+ website_id: null
271
+ }
272
+ });
273
+
274
+ this.websiteImageAssetsTreePanel.getRootNode().removeAll(true);
275
+ };
276
+
277
+ this.reloadWebsiteImageAssetsTreePanel = function (websiteId) {
278
+ this.websiteImageAssetsTreePanel.extraPostData = {
279
+ website_id: websiteId
280
+ };
281
+ this.websiteImageAssetsTreePanel.getStore().setProxy({
282
+ type: 'ajax',
283
+ url: '/knitkit/erp_app/desktop/image_assets/website/expand_directory',
284
+ extraParams: {
285
+ website_id: websiteId
286
+ }
287
+ });
288
+
289
+ if (websiteId) {
290
+ while (delNode = this.websiteImageAssetsTreePanel.getRootNode().childNodes[0]) {
291
+ this.websiteImageAssetsTreePanel.getRootNode().removeChild(delNode);
292
+ }
293
+ this.websiteImageAssetsTreePanel.getRootNode().expand();
294
+
295
+ if (!this.websiteImageAssetsTreePanel.getStore().isLoading()) {
296
+ this.websiteImageAssetsTreePanel.getStore().load();
297
+ self.websiteImageAssetsDataView.directory = 'root_node';
298
+ self.websiteImageAssetsDataView.websiteId = websiteId;
299
+ self.websiteImageAssetsDataView.getStore().load({
300
+ params: {
301
+ directory: 'root_node',
302
+ website_id: websiteId
303
+ }
304
+ });
305
+ }
306
+ }
307
+ };
308
+
309
+ var items = [];
310
+ if (currentUser.hasCapability('view', 'GlobalImageAsset')) {
311
+ items.push(sharedImagesLayout);
312
+ }
313
+
314
+ if (currentUser.hasCapability('view', 'SiteImageAsset')) {
315
+ items.push(websiteImagesLayout);
316
+ }
317
+
318
+ config = Ext.apply({
319
+ deferredRender: false,
320
+ layout: 'fit',
321
+ title: 'Images',
322
+ items: items,
323
+ activeTab: 1,
324
+ listeners: {
325
+ afterrender: function (panel) {
326
+ // workaround for extJS rendering bug. set activetab 1 above and 0 afterrender
327
+ panel.setActiveTab(0);
328
+ }
329
+ }
330
+ }, config);
331
+
332
+ this.callParent([config]);
333
+
334
+ }
335
+ });
@@ -1,55 +1,55 @@
1
- Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.WidgetsPanel",{
2
- extend:"Ext.panel.Panel",
3
- alias:'widget.knitkit_WidgetsPanel',
4
-
5
- constructor : function(config) {
6
- var widgetsStore = Ext.create('Ext.data.Store',{
7
- autoDestroy: true,
8
- fields:['name', 'iconUrl', 'onClick', 'about'],
9
- data:Compass.ErpApp.Widgets.AvailableWidgets
10
- });
11
-
12
- this.widgetsDataView = Ext.create("Ext.view.View",{
13
- style:'overflow:auto',
14
- itemSelector: 'div.thumb-wrap',
15
- store:widgetsStore,
16
- tpl: [
17
- '<tpl for=".">',
18
- '<div data-qtip="{about}" class="thumb-wrap" id="{name}">',
19
- '<div class="thumb"><img src="{iconUrl}" class="thumb-img"></div>',
20
- '<span>{name}</span></div>',
21
- '</tpl>',
22
- '<div class="x-clear"></div>'
23
- ],
24
- listeners:{
25
- 'itemcontextmenu':function(view, record, htmlitem, index, e, options){
26
- e.stopEvent();
27
- var contextMenu = Ext.create("Ext.menu.Menu",{
28
- items:[{
29
- text:'Add Widget',
30
- iconCls:'icon-add',
31
- handler:function(btn){
32
- record.data.onClick();
33
- }
34
- }]
35
- });
36
- contextMenu.showAt(e.xy);
37
- }
38
- }
39
- });
40
-
41
- config = Ext.apply({
42
- id:'widgets',
43
- autoDestroy:true,
44
- title:'Widgets',
45
- margins: '5 5 5 0',
46
- layout:'fit',
47
- items: this.widgetsDataView
48
- }, config);
49
-
50
- this.callParent([config]);
51
- }
52
- });
53
-
54
-
55
-
1
+ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.WidgetsPanel",{
2
+ extend:"Ext.panel.Panel",
3
+ alias:'widget.knitkit_WidgetsPanel',
4
+
5
+ constructor : function(config) {
6
+ var widgetsStore = Ext.create('Ext.data.Store',{
7
+ autoDestroy: true,
8
+ fields:['name', 'iconUrl', 'onClick', 'about'],
9
+ data:Compass.ErpApp.Widgets.AvailableWidgets
10
+ });
11
+
12
+ this.widgetsDataView = Ext.create("Ext.view.View",{
13
+ style:'overflow:auto',
14
+ itemSelector: 'div.thumb-wrap',
15
+ store:widgetsStore,
16
+ tpl: [
17
+ '<tpl for=".">',
18
+ '<div data-qtip="{about}" class="thumb-wrap" id="{name}">',
19
+ '<div class="thumb"><img src="{iconUrl}" class="thumb-img"></div>',
20
+ '<span>{name}</span></div>',
21
+ '</tpl>',
22
+ '<div class="x-clear"></div>'
23
+ ],
24
+ listeners:{
25
+ 'itemcontextmenu':function(view, record, htmlitem, index, e, options){
26
+ e.stopEvent();
27
+ var contextMenu = Ext.create("Ext.menu.Menu",{
28
+ items:[{
29
+ text:'Add Widget',
30
+ iconCls:'icon-add',
31
+ handler:function(btn){
32
+ record.data.onClick();
33
+ }
34
+ }]
35
+ });
36
+ contextMenu.showAt(e.xy);
37
+ }
38
+ }
39
+ });
40
+
41
+ config = Ext.apply({
42
+ id:'widgets',
43
+ autoDestroy:true,
44
+ title:'Widgets',
45
+ margins: '5 5 5 0',
46
+ layout:'fit',
47
+ items: this.widgetsDataView
48
+ }, config);
49
+
50
+ this.callParent([config]);
51
+ }
52
+ });
53
+
54
+
55
+
@@ -1,45 +1,158 @@
1
- Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.InquiriesGridPanel",{
2
- extend:"Compass.ErpApp.Shared.DynamicEditableGridLoaderPanel",
3
- alias:'widget.knitkit_inquiriesgridpanel',
4
- deleteInquiry : function(rec){
1
+ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.InquiriesGridPanel", {
2
+ extend: "Ext.grid.Panel",
3
+ alias: 'widget.knitkit_inquiriesgridpanel',
4
+
5
+ websiteId: null,
6
+ listeners: {
7
+ render: function () {
8
+ this.store.load();
9
+ }
10
+ },
11
+
12
+ deleteInquiry: function (rec) {
5
13
  var self = this;
6
- Ext.getCmp('knitkitCenterRegion').setWindowStatus('Deleting inquiry...');
7
- Ext.Ajax.request({
8
- url: '/knitkit/erp_app/desktop/inquiries/delete',
9
- method: 'POST',
10
- params:{
11
- id:rec.get("id")
12
- },
13
- success: function(response) {
14
- var obj = Ext.decode(response.responseText);
15
- if(obj.success){
16
- Ext.getCmp('knitkitCenterRegion').clearWindowStatus();
17
- self.query('shared_dynamiceditablegrid')[0].store.load();
14
+ Ext.Msg.confirm('Please Confirm', 'Do you want to remove this inquiry?', function (btn) {
15
+ if (btn == 'yes' || btn == 'ok') {
16
+ Ext.getCmp('knitkitCenterRegion').setWindowStatus('Deleting inquiry...');
17
+ Ext.Ajax.request({
18
+ url: '/knitkit/erp_app/desktop/inquiries/' + rec.get("id"),
19
+ method: 'DELETE',
20
+ success: function (response) {
21
+ var obj = Ext.decode(response.responseText);
22
+ if (obj.success) {
23
+ Ext.getCmp('knitkitCenterRegion').clearWindowStatus();
24
+ self.store.load();
25
+ }
26
+ else {
27
+ Ext.Msg.alert('Error', 'Error deleting inquiry');
28
+ Ext.getCmp('knitkitCenterRegion').clearWindowStatus();
29
+ }
30
+ },
31
+ failure: function (response) {
32
+ Ext.getCmp('knitkitCenterRegion').clearWindowStatus();
33
+ Ext.Msg.alert('Error', 'Error deleting inquiry');
34
+ }
35
+ });
36
+ }
37
+ });
38
+ },
39
+
40
+ initComponent: function () {
41
+ this.store = Ext.create("Ext.data.Store", {
42
+ proxy: {
43
+ type: 'ajax',
44
+ method: 'GET',
45
+ url: '/knitkit/erp_app/desktop/inquiries',
46
+ reader: {
47
+ type: 'json',
48
+ root: 'inquiries'
49
+ },
50
+ extraParams: {
51
+ website_id: this.websiteId
18
52
  }
19
- else{
20
- Ext.Msg.alert('Error', 'Error deleting inquiry');
21
- Ext.getCmp('knitkitCenterRegion').clearWindowStatus();
53
+ },
54
+ idProperty: 'id',
55
+ remoteSort: true,
56
+ fields: [
57
+ {
58
+ name: 'id'
59
+ },
60
+ {
61
+ name: 'firstName', mapping: 'first_name'
62
+ },
63
+ {
64
+ name: 'lastName', mapping: 'last_name'
65
+ },
66
+ {
67
+ name: 'email'
68
+ },
69
+ {
70
+ name: 'username'
71
+ },
72
+ {
73
+ name: 'message'
74
+ },
75
+ {
76
+ name: 'createdAt', mapping: 'created_at', type: 'date'
22
77
  }
78
+ ]
79
+ });
80
+
81
+ this.columns = [
82
+ {
83
+ header: 'First Name',
84
+ dataIndex: 'firstName',
85
+ flex: 1
86
+ },
87
+ {
88
+ header: 'Last Name',
89
+ dataIndex: 'lastName',
90
+ flex: 1
91
+ },
92
+ {
93
+ header: 'Email',
94
+ dataIndex: 'email',
95
+ flex: 1
96
+ },
97
+ {
98
+ header: 'Username',
99
+ dataIndex: 'username',
100
+ flex: 0.5
101
+ },
102
+ {
103
+ header: 'Created At',
104
+ dataIndex: 'createdAt',
105
+ renderer: Ext.util.Format.dateRenderer('m/d/Y H:i:s'),
106
+ flex: 1
23
107
  },
24
- failure: function(response) {
25
- Ext.getCmp('knitkitCenterRegion').clearWindowStatus();
26
- Ext.Msg.alert('Error', 'Error deleting inquiry');
108
+ {
109
+ menuDisabled: true,
110
+ resizable: false,
111
+ xtype: 'actioncolumn',
112
+ header: 'Action',
113
+ align: 'center',
114
+ flex: 0.5,
115
+ items: [
116
+ {
117
+ icon: '/images/icons/eye/eye_16x16.png',
118
+ tooltip: 'View',
119
+ getClass: function (v, meta, rec) {
120
+ return 'x-action-col-icon';
121
+ },
122
+ handler: function (grid, rowIndex, colIndex) {
123
+ var rec = grid.getStore().getAt(rowIndex);
124
+
125
+ Ext.getCmp('knitkitCenterRegion').showComment(rec.get('message'))
126
+ }
127
+ },
128
+ {
129
+ icon: '/images/icons/delete/delete_16x16.png',
130
+ tooltip: 'Delete',
131
+ getClass: function (v, meta, rec) {
132
+ return 'x-action-col-icon';
133
+ },
134
+ handler: function (grid, rowIndex, colIndex) {
135
+ var rec = grid.getStore().getAt(rowIndex);
136
+ grid.ownerCt.deleteInquiry(rec);
137
+ }
138
+ }
139
+ ]
27
140
  }
28
- });
29
- },
30
- constructor : function(config) {
31
- config = Ext.apply({
32
- id:'InquiriesGridPanel',
33
- title:'Website Inquiries',
34
- dataUrl: '/knitkit/erp_app/desktop/inquiries/get/' + config['websiteId'],
35
- setupUrl: '/knitkit/erp_app/desktop/inquiries/setup',
36
- editable:false,
37
- page:true,
38
- pageSize:20,
39
- displayMsg:'Displaying {0} - {1} of {2}',
40
- emptyMsg:'Empty'
41
- }, config);
141
+ ];
142
+
143
+ this.dockedItems = [
144
+ {
145
+ xtype: 'pagingtoolbar',
146
+ store: this.store,
147
+ dock: 'bottom',
148
+ pageSize: 15,
149
+ title: 'Inquiries',
150
+ displayInfo: true,
151
+ displayMsg: '{0} - {1} of {2}',
152
+ emptyMsg: "Empty"
153
+ }
154
+ ];
42
155
 
43
- this.callParent([config]);
156
+ this.callParent();
44
157
  }
45
158
  });