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,226 +1,247 @@
1
- Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.PublishedGridPanel",{
2
- extend:"Ext.grid.Panel",
3
- alias:'widget.knitkit_publishedgridpanel',
4
- initComponent: function() {
5
- this.callParent(arguments);
6
- this.getStore().load();
7
- },
1
+ Ext.define("Compass.ErpApp.Desktop.Applications.Knitkit.PublishedGridPanel", {
2
+ extend: "Ext.grid.Panel",
3
+ alias: 'widget.knitkit_publishedgridpanel',
4
+ initComponent: function () {
5
+ this.callParent(arguments);
6
+ this.getStore().load();
7
+ },
8
8
 
9
- activate : function(rec){
10
- var self = this;
11
- Ext.Ajax.request({
12
- url: '/knitkit/erp_app/desktop/site/activate_publication',
13
- timeout: 90000,
14
- method: 'POST',
15
- params:{
16
- id:self.initialConfig.siteId,
17
- version:rec.get('version')
18
- },
19
- success: function(response) {
20
- var obj = Ext.decode(response.responseText);
21
- var msg = "";
22
- if (obj.msg){
9
+ activate: function (rec) {
10
+ var self = this;
11
+ Ext.Ajax.request({
12
+ url: '/knitkit/erp_app/desktop/site/activate_publication',
13
+ timeout: 90000,
14
+ method: 'POST',
15
+ params: {
16
+ website_id: self.initialConfig.siteId,
17
+ version: rec.get('version')
18
+ },
19
+ success: function (response) {
20
+ var obj = Ext.decode(response.responseText);
21
+ var msg = "";
22
+ if (obj.msg) {
23
23
  msg = obj.msg;
24
- }else{
24
+ } else {
25
25
  msg = 'Error activating publication';
26
26
  }
27
- if(obj.success){
28
- self.getStore().load();
29
- }
30
- else{
31
- Ext.Msg.alert('Error', msg);
32
- }
33
- },
34
- failure: function(response) {
35
- Ext.Msg.alert('Error', 'Error activating publication');
36
- }
37
- });
38
- },
39
-
40
- setViewingVersion : function(rec){
41
- var self = this;
42
- Ext.Ajax.request({
43
- url: '/knitkit/erp_app/desktop/site/set_viewing_version',
44
- method: 'POST',
45
- params:{
46
- id:self.initialConfig.siteId,
47
- version:rec.get('version')
48
- },
49
- success: function(response) {
50
- var obj = Ext.decode(response.responseText);
51
- if(obj.success){
52
- self.getStore().load();
53
- }
54
- else{
55
- Ext.Msg.alert('Error', 'Error setting viewing version');
56
- }
57
- },
58
- failure: function(response) {
59
- Ext.Msg.alert('Error', 'Error setting viewing version');
60
- }
61
- });
62
- },
63
-
64
- constructor : function(config) {
65
- var store = Ext.create("Ext.data.Store",{
66
- proxy:{
67
- type:'ajax',
68
- url:'/knitkit/erp_app/desktop/site/website_publications',
69
- reader:{
70
- type:'json',
71
- root:'data'
72
- },
73
- extraParams:{
74
- id:config['siteId']
75
- }
76
- },
77
- idProperty: 'id',
78
- remoteSort: true,
79
- fields: [
80
- {
81
- name:'id'
82
- },
83
- {
84
- name:'version',
85
- type: 'float'
86
- },
87
- {
88
- name:'created_at',
89
- type: 'date'
90
- },
91
- {
92
- name:'published_by_username'
93
- },
94
- {
95
- name:'comment'
96
- },
97
- {
98
- name:'active',
99
- type:'boolean'
100
- },
101
- {
102
- name:'viewing',
103
- type:'boolean'
104
- }
105
- ],
106
- listeners:{
107
- 'exception':function(proxy, type, action, options, response, arg){
108
- Ext.Msg.alert('Error',arg);
109
- }
110
- }
111
- });
112
-
113
- config = Ext.apply({
114
- store:store,
115
- columns: [
116
- {
117
- header: "Version",
118
- sortable:true,
119
- width: 45,
120
- dataIndex: 'version'
121
- },
122
- {
123
- header: "Published",
124
- width: 117,
125
- sortable:true,
126
- renderer: Ext.util.Format.dateRenderer('m/d/Y H:i:s'),
127
- dataIndex: 'created_at'
128
- },
129
- {
130
- header: "Published By",
131
- width: 72,
132
- sortable:true,
133
- dataIndex: 'published_by_username'
134
- },
135
- {
136
- menuDisabled:true,
137
- resizable:false,
138
- xtype:'actioncolumn',
139
- header:'Viewing',
140
- align:'center',
141
- width:46,
142
- items:[{
143
- getClass: function(v, meta, rec) { // Or return a class from a function
144
- if (rec.get('viewing')) {
145
- this.items[0].tooltip = 'Viewing';
146
- return 'viewing-col';
147
- } else {
148
- this.items[0].tooltip = 'View';
149
- return 'view-col';
150
- }
151
- },
152
- handler: function(grid, rowIndex, colIndex) {
153
- var rec = grid.getStore().getAt(rowIndex);
154
- if(rec.get('viewing')){
155
- return false;
156
- }
157
- else{
158
- grid.ownerCt.setViewingVersion(rec);
159
- }
160
- }
161
- }]
162
- },
163
- {
164
- menuDisabled:true,
165
- resizable:false,
166
- xtype:'actioncolumn',
167
- header:'Active',
168
- align:'center',
169
- width:44,
170
- items:[{
171
- getClass: function(v, meta, rec) { // Or return a class from a function
172
- if (rec.get('active')) {
173
- this.items[0].tooltip = 'Active';
174
- return 'active-col';
175
- } else {
176
- this.items[0].tooltip = 'Activate';
177
- return 'activate-col';
27
+ if (obj.success) {
28
+ self.getStore().load();
29
+ }
30
+ else {
31
+ Ext.Msg.alert('Error', msg);
32
+ }
33
+ },
34
+ failure: function (response) {
35
+ Ext.Msg.alert('Error', 'Error activating publication');
178
36
  }
179
- },
180
- handler: function(grid, rowIndex, colIndex) {
181
- if (currentUser.hasCapability('activate','Website'))
182
- {
183
- var rec = grid.getStore().getAt(rowIndex);
184
- if(rec.get('active')){
185
- return false;
186
- }
187
- else{
188
- grid.ownerCt.activate(rec);
189
- }
37
+ });
38
+ },
39
+
40
+ setViewingVersion: function (rec) {
41
+ var self = this;
42
+ Ext.Ajax.request({
43
+ url: '/knitkit/erp_app/desktop/site/set_viewing_version',
44
+ method: 'POST',
45
+ params: {
46
+ website_id: self.initialConfig.siteId,
47
+ version: rec.get('version')
48
+ },
49
+ success: function (response) {
50
+ var obj = Ext.decode(response.responseText);
51
+ if (obj.success) {
52
+ self.getStore().load();
53
+ }
54
+ else {
55
+ Ext.Msg.alert('Error', 'Error setting viewing version');
56
+ }
57
+ },
58
+ failure: function (response) {
59
+ Ext.Msg.alert('Error', 'Error setting viewing version');
190
60
  }
191
- else{
192
- compassUser.showInvalidAccess();
61
+ });
62
+ },
63
+
64
+ constructor: function (config) {
65
+ var store = Ext.create("Ext.data.Store", {
66
+ proxy: {
67
+ type: 'ajax',
68
+ url: '/knitkit/erp_app/desktop/site/website_publications',
69
+ reader: {
70
+ type: 'json',
71
+ root: 'data'
72
+ },
73
+ extraParams: {
74
+ website_id: config['siteId']
75
+ }
76
+ },
77
+ idProperty: 'id',
78
+ remoteSort: true,
79
+ fields: [
80
+ {
81
+ name: 'id'
82
+ },
83
+ {
84
+ name: 'version',
85
+ type: 'float'
86
+ },
87
+ {
88
+ name: 'created_at',
89
+ type: 'date'
90
+ },
91
+ {
92
+ name: 'published_by_username'
93
+ },
94
+ {
95
+ name: 'comment'
96
+ },
97
+ {
98
+ name: 'active',
99
+ type: 'boolean'
100
+ },
101
+ {
102
+ name: 'viewing',
103
+ type: 'boolean'
104
+ }
105
+ ],
106
+ listeners: {
107
+ 'exception': function (proxy, type, action, options, response, arg) {
108
+ Ext.Msg.alert('Error', arg);
109
+ }
193
110
  }
194
- }
195
- }]
196
- },
197
- {
198
- menuDisabled:true,
199
- resizable:false,
200
- xtype:'actioncolumn',
201
- header:'Note',
202
- align:'center',
203
- width:40,
204
- items:[{
205
- getClass: function(v, meta, rec) { // Or return a class from a function
206
- this.items[0].tooltip = rec.get('comment');
207
- return 'info-col';
208
- },
209
- handler: function(grid, rowIndex, colIndex) {
210
- return false;
211
- }
212
- }]
213
- }
214
- ],
215
- bbar: new Ext.PagingToolbar({
216
- pageSize: 9,
217
- store:store,
218
- displayInfo: true,
219
- displayMsg: '{0} - {1} of {2}',
220
- emptyMsg: "Empty"
221
- })
222
- }, config);
111
+ });
112
+
113
+ config = Ext.apply({
114
+ store: store,
115
+ columns: [
116
+ {
117
+ header: "Version",
118
+ sortable: true,
119
+ flex: 0.5,
120
+ dataIndex: 'version'
121
+ },
122
+ {
123
+ header: "Published",
124
+ flex: 1,
125
+ sortable: true,
126
+ renderer: Ext.util.Format.dateRenderer('m/d/Y H:i:s'),
127
+ dataIndex: 'created_at'
128
+ },
129
+ {
130
+ header: "Published By",
131
+ flex: 1,
132
+ sortable: true,
133
+ dataIndex: 'published_by_username'
134
+ },
135
+ {
136
+ menuDisabled: true,
137
+ resizable: false,
138
+ xtype: 'actioncolumn',
139
+ header: 'Actions',
140
+ align: 'center',
141
+ width: 100,
142
+ items: [
143
+ {
144
+ getTip: function(value, meta, record){
145
+ if (record.get('viewing')) {
146
+ return 'Already viewing this version';
147
+ }
148
+ else {
149
+ return 'View this version';
150
+ }
151
+ },
152
+ getClass: function (v, meta, rec) { // Or return a class from a function
153
+ if (rec.get('viewing')) {
154
+ return 'viewing-col x-action-col-icon';
155
+ } else {
156
+ return 'view-col x-action-col-icon';
157
+ }
158
+ },
159
+ handler: function (grid, rowIndex, colIndex) {
160
+ var rec = grid.getStore().getAt(rowIndex);
161
+ if (rec.get('viewing')) {
162
+ return false;
163
+ }
164
+ else {
165
+ grid.ownerCt.setViewingVersion(rec);
166
+ }
167
+ }
168
+ },
169
+ {
170
+ getTip: function(value, meta, record){
171
+ if (record.get('active')) {
172
+ return 'Version is already active';
173
+ } else {
174
+ return 'Set this version as the active version';
175
+ }
176
+ },
177
+ getClass: function (v, meta, rec) { // Or return a class from a function
178
+ if (rec.get('active')) {
179
+ return 'active-col x-action-col-icon';
180
+ } else {
181
+ return 'activate-col x-action-col-icon';
182
+ }
183
+ },
184
+ handler: function (grid, rowIndex, colIndex) {
185
+ if (currentUser.hasCapability('activate', 'Website')) {
186
+ var rec = grid.getStore().getAt(rowIndex);
187
+ if (rec.get('active')) {
188
+ return false;
189
+ }
190
+ else {
191
+ grid.ownerCt.activate(rec);
192
+ }
193
+ }
194
+ else {
195
+ compassUser.showInvalidAccess();
196
+ }
197
+ }
198
+ },
199
+ {
200
+ icon: '/images/icons/document/document_16x16.png',
201
+ tooltip: 'Comments',
202
+ handler: function (grid, rowIndex, colIndex) {
203
+ var rec = grid.getStore().getAt(rowIndex);
204
+
205
+ Ext.create("Ext.window.Window", {
206
+ width: 325,
207
+ height: 400,
208
+ buttonAlign: 'center',
209
+ bodyPadding: 5,
210
+ title: 'Comments',
211
+ autoScroll: true,
212
+ layout: 'fit',
213
+ items: {
214
+ xtype: 'panel',
215
+ html: rec.get('comment')
216
+ },
217
+ buttons: [
218
+ {
219
+ text: 'Close',
220
+ handler: function (btn) {
221
+ btn.up('window').close();
222
+ }
223
+ }
224
+ ]
225
+ }).show();
226
+ }
227
+ }
228
+ ]
229
+ }
230
+ ],
231
+ dockedItems: [
232
+ {
233
+ xtype: 'pagingtoolbar',
234
+ dock: 'bottom',
235
+ pageSize: 10,
236
+ store: store,
237
+ displayInfo: true,
238
+ displayMsg: '{0} - {1} of {2}',
239
+ emptyMsg: "Empty"
240
+
241
+ }
242
+ ]
243
+ }, config);
223
244
 
224
- this.callParent([config]);
225
- }
245
+ this.callParent([config]);
246
+ }
226
247
  });