knitkit 2.1.15 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,585 +0,0 @@
1
- Ext.define("Compass.ErpApp.Desktop.Applications.ThemesTreePanel",{
2
- extend:"Compass.ErpApp.Shared.FileManagerTree",
3
- alias:'widget.knitkit_themestreepanel',
4
-
5
- updateThemeActiveStatus : function(themeId, siteId, active){
6
- var self = this;
7
- self.initialConfig['centerRegion'].setWindowStatus('Updating Status...');
8
- Ext.Ajax.request({
9
- url: '/knitkit/erp_app/desktop/theme/change_status',
10
- method: 'POST',
11
- params:{
12
- theme_id:themeId,
13
- site_id:siteId,
14
- active:active
15
- },
16
- success: function(response) {
17
- var obj = Ext.decode(response.responseText);
18
- if(obj.success){
19
- self.initialConfig['centerRegion'].clearWindowStatus();
20
- self.getStore().load({
21
- node:self.getRootNode()
22
- });
23
- }
24
- else{
25
- Ext.Msg.alert('Error', 'Error updating status');
26
- self.initialConfig['centerRegion'].clearWindowStatus();
27
- }
28
- },
29
- failure: function(response) {
30
- self.initialConfig['centerRegion'].clearWindowStatus();
31
- Ext.Msg.alert('Error', 'Error updating status');
32
- }
33
- });
34
- },
35
-
36
- deleteTheme : function(themeId){
37
- var self = this;
38
- self.initialConfig['centerRegion'].setWindowStatus('Deleting theme...');
39
- Ext.Ajax.request({
40
- url: '/knitkit/erp_app/desktop/theme/delete',
41
- method: 'POST',
42
- params:{
43
- theme_id:themeId
44
- },
45
- success: function(response) {
46
- var obj = Ext.decode(response.responseText);
47
- if(obj.success){
48
- self.initialConfig['centerRegion'].clearWindowStatus();
49
- self.getStore().load({
50
- node:self.getRootNode()
51
- });
52
- }
53
- else{
54
- Ext.Msg.alert('Error', 'Error deleting theme');
55
- self.initialConfig['centerRegion'].clearWindowStatus();
56
- }
57
- },
58
- failure: function(response) {
59
- self.initialConfig['centerRegion'].clearWindowStatus();
60
- Ext.Msg.alert('Error', 'Error deleting theme');
61
- }
62
- });
63
- },
64
-
65
- exportTheme : function(themeId){
66
- var self = this;
67
- self.initialConfig['centerRegion'].setWindowStatus('Exporting theme...');
68
- window.open('/knitkit/erp_app/desktop/theme/export?id='+themeId,'mywindow','width=400,height=200');
69
- self.initialConfig['centerRegion'].clearWindowStatus();
70
- },
71
-
72
- themeWidget : function(){
73
- var self = this;
74
- self.sitesJsonStore.load();
75
- var themesJsonStore = Ext.create("Ext.data.Store",{
76
- autoLoad:false,
77
- proxy:{
78
- url:'/knitkit/erp_app/desktop/theme/available_themes',
79
- type:'ajax',
80
- reader:{
81
- type:'json',
82
- root:'themes'
83
- }
84
- },
85
- fields: [
86
- {
87
- name:'name'
88
- },
89
- {
90
- name:'id'
91
- }
92
- ]
93
- });
94
-
95
- var widgetsJsonStore = Ext.create("Ext.data.Store",{
96
- proxy:{
97
- url:'/knitkit/erp_app/desktop/theme/available_widgets',
98
- type:'ajax',
99
- reader:{
100
- type:'json',
101
- root:'widgets'
102
- }
103
- },
104
- fields: [
105
- {
106
- name:'name'
107
- },
108
- {
109
- name:'id'
110
- }
111
- ]
112
- });
113
-
114
- var widgetThemeWindow = Ext.create("Ext.window.Window",{
115
- layout:'fit',
116
- width:375,
117
- title:'Theme Widget',
118
- plain: true,
119
- buttonAlign:'center',
120
- items: new Ext.FormPanel({
121
- labelWidth: 110,
122
- frame:false,
123
- bodyStyle:'padding:5px 5px 0',
124
- fileUpload: true,
125
- url:'/knitkit/erp_app/desktop/theme/theme_widget',
126
- defaults: {
127
- width: 225
128
- },
129
- items: [
130
- {
131
- xtype:'combo',
132
- hiddenName:'site_id',
133
- name:'site_id',
134
- store:self.sitesJsonStore,
135
- forceSelection:true,
136
- editable:false,
137
- fieldLabel:'Website',
138
- emptyText:'Select Site...',
139
- typeAhead: false,
140
- displayField:'name',
141
- valueField:'id',
142
- allowBlank:false,
143
- listeners:{
144
- 'select':function(combo, records, opts){
145
- this.next().enable();
146
- themesJsonStore.setExtraParam("site_id", records[0].get("id"));
147
- themesJsonStore.load();
148
- }
149
- }
150
- },
151
- {
152
- xtype:'combo',
153
- hiddenName:'theme_id',
154
- name:'theme_id',
155
- store:themesJsonStore,
156
- forceSelection:true,
157
- editable:false,
158
- disabled:true,
159
- fieldLabel:'Theme',
160
- emptyText:'Select Theme...',
161
- typeAhead: false,
162
- mode: 'remote',
163
- displayField:'name',
164
- valueField:'id',
165
- allowBlank:false,
166
- listeners:{
167
- 'select':function(combo, records, opts){
168
- this.next().enable();
169
- widgetsJsonStore.setExtraParam("theme_id", records[0].get("id"));
170
- widgetsJsonStore.load();
171
- }
172
- }
173
- },
174
- {
175
- xtype:'combo',
176
- hiddenName:'widget_id',
177
- name:'widget_id',
178
- store:widgetsJsonStore,
179
- forceSelection:true,
180
- editable:false,
181
- disabled:true,
182
- fieldLabel:'Widget',
183
- emptyText:'Select Widget...',
184
- typeAhead: false,
185
- mode: 'remote',
186
- displayField:'name',
187
- valueField:'id',
188
- allowBlank:false
189
- },
190
- ]
191
- }),
192
- buttons: [{
193
- text:'Submit',
194
- listeners:{
195
- 'click':function(button){
196
- var form = this.up('window').query('form')[0].getForm();
197
- if(form.isValid()){
198
- form.submit({
199
- waitMsg: 'Generating layout files for widget...',
200
- success:function(form, action){
201
- var obj = Ext.decode(action.response.responseText);
202
- if(obj.success){
203
- self.getStore().load({
204
- node:self.getRootNode()
205
- });
206
- }
207
- widgetThemeWindow.close();
208
- },
209
- failure:function(form, action){
210
- Ext.Msg.alert("Error", "Error generating layouts");
211
- }
212
- });
213
- }
214
- }
215
- }
216
- },{
217
- text: 'Close',
218
- handler: function(){
219
- widgetThemeWindow.close();
220
- }
221
- }]
222
- });
223
- widgetThemeWindow.show();
224
- },
225
-
226
- constructor : function(config) {
227
- this.sitesJsonStore = Ext.create("Ext.data.Store",{
228
- proxy:{
229
- url:'/knitkit/erp_app/desktop/site/index',
230
- type:'ajax',
231
- reader:{
232
- type:'json',
233
- root:'sites'
234
- }
235
- },
236
- fields: [
237
- {
238
- name:'name'
239
- },
240
- {
241
- name:'id'
242
- }
243
- ]
244
- });
245
-
246
- var self = this;
247
-
248
- config = Ext.apply({
249
- autoLoadRoot:true,
250
- rootVisible:true,
251
- multiSelect:true,
252
- title:'Themes',
253
- rootText:'Websites',
254
- controllerPath:'/knitkit/erp_app/desktop/theme',
255
- autoDestroy:true,
256
- allowDownload:true,
257
- addViewContentsToContextMenu:true,
258
- standardUploadUrl:'/knitkit/erp_app/desktop/theme/upload_file',
259
- url:'/knitkit/erp_app/desktop/theme/index',
260
- fields:[
261
- {
262
- name:'isTheme'
263
- },
264
- {
265
- name:'isActive'
266
- },
267
- {
268
- name:'siteId'
269
- },
270
- {
271
- name:'text'
272
- },
273
- {
274
- name:'id'
275
- },
276
- {
277
- name:'url'
278
- },
279
- {
280
- name:'leaf'
281
- },
282
- {
283
- name:'handleContextMenu'
284
- },
285
- {
286
- name:'contextMenuDisabled'
287
- }
288
- ],
289
- containerScroll: true,
290
- listeners:{
291
- 'load':function(store){
292
- store.getRootNode().expandChildren();
293
- store.getRootNode().eachChild(function(child){
294
- child.expandChildren();
295
- });
296
- },
297
- 'showImage':function(fileManager, node, themeId){
298
- var themeId = null;
299
- var themeNode = node;
300
- while(themeId == null && !Compass.ErpApp.Utility.isBlank(themeNode.parentNode)){
301
- if(themeNode.data.isTheme){
302
- themeId = themeNode.data.id;
303
- }
304
- else{
305
- themeNode = themeNode.parentNode;
306
- }
307
- }
308
- self.initialConfig['centerRegion'].showImage(node, themeId);
309
- },
310
- 'contentLoaded':function(fileManager, node, content){
311
- var themeId = null;
312
- var themeNode = node;
313
- while(themeId == null && !Compass.ErpApp.Utility.isBlank(themeNode.parentNode)){
314
- if(themeNode.data.isTheme){
315
- themeId = themeNode.data.id;
316
- }
317
- else{
318
- themeNode = themeNode.parentNode;
319
- }
320
- }
321
- self.initialConfig['centerRegion'].editTemplateFile(node, content, [], themeId);
322
- },
323
- 'handleContextMenu':function(fileManager, node, e){
324
- if(node.data['isTheme']){
325
- var items = [];
326
- if(node.data['isActive']){
327
- items.push({
328
- text:'Deactivate',
329
- iconCls:'icon-delete',
330
- listeners:{
331
- 'click':function(){
332
- self.updateThemeActiveStatus(node.data.id, node.data['siteId'], false);
333
- }
334
- }
335
- });
336
- }
337
- else{
338
- items.push({
339
- text:'Activate',
340
- iconCls:'icon-add',
341
- listeners:{
342
- 'click':function(){
343
- self.updateThemeActiveStatus(node.data.id, node.data['siteId'], true);
344
- }
345
- }
346
- });
347
- }
348
- items.push({
349
- text:'Delete Theme',
350
- iconCls:'icon-delete',
351
- listeners:{
352
- 'click':function(){
353
- Ext.MessageBox.confirm('Confirm', 'Are you sure you want to delete this theme?', function(btn){
354
- if(btn == 'no'){
355
- return false;
356
- }
357
- else
358
- if(btn == 'yes')
359
- {
360
- self.deleteTheme(node.data.id);
361
- }
362
- });
363
- }
364
- }
365
- });
366
- items.push({
367
- text:'Export',
368
- iconCls:'icon-document_out',
369
- listeners:{
370
- 'click':function(){
371
- self.exportTheme(node.data.id);
372
- }
373
- }
374
- });
375
- var contextMenu = new Ext.menu.Menu({
376
- items:items
377
- });
378
- contextMenu.showAt(e.xy);
379
- return false;
380
- }
381
- }
382
- },
383
- tbar:{
384
- items:[
385
- {
386
- text:'Add Theme',
387
- iconCls:'icon-add',
388
- handler:function(btn){
389
- self.sitesJsonStore.load();
390
- var addThemeWindow = Ext.create("Ext.window.Window",{
391
- layout:'fit',
392
- width:375,
393
- title:'New Theme',
394
- plain: true,
395
- buttonAlign:'center',
396
- items: new Ext.FormPanel({
397
- labelWidth: 110,
398
- frame:false,
399
- bodyStyle:'padding:5px 5px 0',
400
- fileUpload: true,
401
- url:'/knitkit/erp_app/desktop/theme/new',
402
- defaults: {
403
- width: 225
404
- },
405
- items: [
406
- {
407
- xtype:'combo',
408
- hiddenName:'site_id',
409
- name:'site_id',
410
- store:self.sitesJsonStore,
411
- forceSelection:true,
412
- editable:false,
413
- fieldLabel:'Website',
414
- emptyText:'Select Site...',
415
- typeAhead: false,
416
- displayField:'name',
417
- valueField:'id',
418
- allowBlank:false
419
- },
420
- {
421
- xtype:'textfield',
422
- fieldLabel:'Name',
423
- allowBlank:false,
424
- name:'name'
425
- },
426
- {
427
- xtype:'textfield',
428
- fieldLabel:'Theme ID',
429
- allowBlank:false,
430
- name:'theme_id'
431
- },
432
- {
433
- xtype:'textfield',
434
- fieldLabel:'Version',
435
- allowBlank:true,
436
- name:'version'
437
- },
438
- {
439
- xtype:'textfield',
440
- fieldLabel:'Author',
441
- allowBlank:true,
442
- name:'author'
443
- },
444
- {
445
- xtype:'textfield',
446
- fieldLabel:'HomePage',
447
- allowBlank:true,
448
- name:'homepage'
449
- },
450
- {
451
- xtype:'textarea',
452
- fieldLabel:'Summary',
453
- allowBlank:true,
454
- name:'summary'
455
- }
456
- ]
457
- }),
458
- buttons: [{
459
- text:'Submit',
460
- listeners:{
461
- 'click':function(button){
462
- var window = button.findParentByType('window');
463
- var formPanel = window.query('form')[0];
464
- self.initialConfig['centerRegion'].setWindowStatus('Creating theme...');
465
- formPanel.getForm().submit({
466
- reset:true,
467
- success:function(form, action){
468
- self.initialConfig['centerRegion'].clearWindowStatus();
469
- var obj = Ext.decode(action.response.responseText);
470
- if(obj.success){
471
- self.getStore().load({
472
- node:self.getRootNode()
473
- });
474
- }
475
- },
476
- failure:function(form, action){
477
- self.initialConfig['centerRegion'].clearWindowStatus();
478
- Ext.Msg.alert("Error", "Error creating theme");
479
- }
480
- });
481
- }
482
- }
483
- },{
484
- text: 'Close',
485
- handler: function(){
486
- addThemeWindow.close();
487
- }
488
- }]
489
- });
490
- addThemeWindow.show();
491
- }
492
- },
493
- {
494
- text:'Upload Theme',
495
- iconCls:'icon-upload',
496
- handler:function(btn){
497
- self.sitesJsonStore.load();
498
- var uploadThemeWindow = Ext.create("Ext.window.Window",{
499
- layout:'fit',
500
- width:375,
501
- title:'New Theme',
502
- plain: true,
503
- buttonAlign:'center',
504
- items: new Ext.FormPanel({
505
- labelWidth: 110,
506
- frame:false,
507
- bodyStyle:'padding:5px 5px 0',
508
- fileUpload: true,
509
- url:'/knitkit/erp_app/desktop/theme/new',
510
- defaults: {
511
- width: 225
512
- },
513
- items: [
514
- {
515
- xtype:'combo',
516
- hiddenName:'site_id',
517
- name:'site_id',
518
- store:self.sitesJsonStore,
519
- forceSelection:true,
520
- editable:false,
521
- fieldLabel:'Website',
522
- emptyText:'Select Site...',
523
- typeAhead: false,
524
- displayField:'name',
525
- valueField:'id',
526
- allowBlank:false
527
- },
528
- {
529
- xtype:'fileuploadfield',
530
- fieldLabel:'Upload Theme',
531
- buttonText:'Upload',
532
- buttonOnly:false,
533
- allowBlank:true,
534
- name:'theme_data'
535
- }
536
- ]
537
- }),
538
- buttons: [{
539
- text:'Submit',
540
- listeners:{
541
- 'click':function(button){
542
- var form = this.up('window').query('form')[0].getForm();
543
- if(form.isValid()){
544
- form.submit({
545
- waitMsg: 'Creating theme...',
546
- success:function(form, action){
547
- var obj = Ext.decode(action.response.responseText);
548
- if(obj.success){
549
- self.getStore().load({
550
- node:self.getRootNode()
551
- });
552
- }
553
- uploadThemeWindow.close();
554
- },
555
- failure:function(form, action){
556
- Ext.Msg.alert("Error", "Error creating theme");
557
- }
558
- });
559
- }
560
- }
561
- }
562
- },{
563
- text: 'Close',
564
- handler: function(){
565
- uploadThemeWindow.close();
566
- }
567
- }]
568
- });
569
- uploadThemeWindow.show();
570
- }
571
- },
572
- {
573
- text:'Theme Widget',
574
- iconCls:'icon-picture',
575
- handler:function(btn){
576
- self.themeWidget();
577
- }
578
- }
579
- ]
580
- }
581
- }, config);
582
-
583
- this.callParent([config]);
584
- }
585
- });