knitkit 2.1.2 → 2.1.3

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 (36) hide show
  1. data/app/controllers/knitkit/comments_controller.rb +1 -1
  2. data/app/controllers/knitkit/erp_app/desktop/app_controller.rb +5 -0
  3. data/app/controllers/knitkit/erp_app/desktop/articles_controller.rb +0 -4
  4. data/app/controllers/knitkit/erp_app/desktop/content_controller.rb +0 -2
  5. data/app/controllers/knitkit/erp_app/desktop/theme_controller.rb +13 -0
  6. data/app/controllers/knitkit/erp_app/desktop/website_section_controller.rb +37 -29
  7. data/app/controllers/knitkit/online_document_sections_controller.rb +1 -1
  8. data/app/models/website_section.rb +2 -3
  9. data/app/views/knitkit/blogs/_add_comment.html.erb +2 -1
  10. data/app/views/knitkit/online_document_sections/index.html.erb +143 -136
  11. data/app/views/layouts/knitkit/online_document_sections.html.erb +2 -2
  12. data/app/widgets/contact_us/javascript/contact_us.js +3 -1
  13. data/app/widgets/dynamic_forms/javascript/dynamic_forms.js +91 -92
  14. data/app/widgets/dynamic_grid/base.rb +7 -7
  15. data/app/widgets/dynamic_grid/javascript/dynamic_grid.js +111 -112
  16. data/app/widgets/dynamic_grid/views/index.html.erb +1 -1
  17. data/app/widgets/google_map/javascript/google_map.js +132 -119
  18. data/app/widgets/google_map/views/index.html.erb +1 -1
  19. data/app/widgets/login/javascript/login.js +160 -155
  20. data/app/widgets/manage_profile/javascript/manage_profile.js +3 -1
  21. data/app/widgets/reset_password/javascript/reset_password.js +3 -1
  22. data/app/widgets/scaffold/base.rb +8 -4
  23. data/app/widgets/scaffold/javascript/scaffold.js +218 -220
  24. data/app/widgets/scaffold/views/index.html.erb +1 -1
  25. data/app/widgets/search/javascript/search.js +21 -21
  26. data/app/widgets/signup/javascript/signup.js +2 -1
  27. data/config/routes.rb +1 -1
  28. data/lib/knitkit/extensions/railties/action_view/helpers/blog_helper.rb +3 -3
  29. data/lib/knitkit/extensions/railties/action_view/helpers/knitkit_helper.rb +0 -2
  30. data/lib/knitkit/version.rb +1 -1
  31. data/public/javascripts/erp_app/desktop/applications/knitkit/center_region.js +6 -7
  32. data/public/javascripts/erp_app/desktop/applications/knitkit/publish_window.js +3 -3
  33. data/public/javascripts/erp_app/desktop/applications/knitkit/select_roles_window.js +103 -0
  34. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/helpers/section.js +4 -4
  35. data/public/javascripts/erp_app/desktop/applications/knitkit/west_region/west_region.js +32 -21
  36. metadata +3 -2
@@ -1,10 +1,19 @@
1
1
  Compass.ErpApp.Widgets.GoogleMap = {
2
- addGoogleMap:function(){
2
+ template: new Ext.Template("<%= render_widget :google_map,\n",
3
+ ':params => {\n',
4
+ ' :zoom => {zoom},',
5
+ " :map_type => '{mapType}',",
6
+ ' :drop_pins=[\n{dropPins}\n',
7
+ "]}%>"),
8
+
9
+ dropPinTemplate: new Ext.XTemplate('<tpl for=".">', '{title="{title}", address="{address}"}{[xindex === xcount ? "" : ","]}', '</tpl>'),
10
+
11
+ addGoogleMap: function () {
3
12
 
4
13
  // Define our data model
5
14
  var GoogleMapAddressModel = Ext.define('GoogleMapAddress', {
6
15
  extend: 'Ext.data.Model',
7
- fields: ['title','address']
16
+ fields: ['title', 'address']
8
17
  });
9
18
 
10
19
  // create the Data Store
@@ -15,18 +24,20 @@ Compass.ErpApp.Widgets.GoogleMap = {
15
24
  proxy: {
16
25
  type: 'memory'
17
26
  },
18
- data:[{
19
- title:'TrueNorth.',
20
- address:'1 S Orange Ave Orlando, FL 32801'
21
- }]
27
+ data: [
28
+ {
29
+ title: 'TrueNorth.',
30
+ address: '1 S Orange Ave Orlando, FL 32801'
31
+ }
32
+ ]
22
33
  });
23
34
 
24
35
 
25
36
  var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
26
37
  clicksToMoveEditor: 1,
27
38
  autoCancel: false,
28
- listeners:{
29
- 'edit':function(editor, e){
39
+ listeners: {
40
+ 'edit': function (editor, e) {
30
41
  editor.record.commit();
31
42
  }
32
43
  }
@@ -34,142 +45,144 @@ Compass.ErpApp.Widgets.GoogleMap = {
34
45
 
35
46
 
36
47
  var grid = Ext.create('Ext.grid.Panel', {
37
- autoDestroy:true,
38
- autoScroll:true,
39
- region:'center',
48
+ autoDestroy: true,
49
+ autoScroll: true,
50
+ region: 'center',
40
51
  store: store,
41
- columns: [{
42
- header: 'Title',
43
- dataIndex: 'title',
44
- width:160,
45
- editor: {
46
- allowBlank: false
47
- }
48
- }, {
49
- header: 'Address',
50
- dataIndex: 'address',
51
- flex: 1,
52
- editor: {
53
- allowBlank: false
54
- }
55
- }],
56
- frame:false,
57
- tbar: [{
58
- text: 'Add Location',
59
- iconCls: 'icon-add',
60
- handler : function() {
61
- rowEditing.cancelEdit();
62
- store.insert(0, new GoogleMapAddressModel());
63
- rowEditing.startEdit(0, 0);
52
+ columns: [
53
+ {
54
+ header: 'Title',
55
+ dataIndex: 'title',
56
+ width: 160,
57
+ editor: {
58
+ allowBlank: false
59
+ }
60
+ },
61
+ {
62
+ header: 'Address',
63
+ dataIndex: 'address',
64
+ flex: 1,
65
+ editor: {
66
+ allowBlank: false
67
+ }
64
68
  }
65
- }, {
66
- itemId: 'removelocation',
67
- text: 'Remove Location',
68
- iconCls: 'icon-delete',
69
- handler: function() {
70
- var sm = grid.getSelectionModel();
71
- rowEditing.cancelEdit();
72
- store.remove(sm.getSelection());
73
- if (store.getCount() > 0) {
74
- sm.select(0);
69
+ ],
70
+ frame: false,
71
+ tbar: [
72
+ {
73
+ text: 'Add Location',
74
+ iconCls: 'icon-add',
75
+ handler: function () {
76
+ rowEditing.cancelEdit();
77
+ store.insert(0, new GoogleMapAddressModel());
78
+ rowEditing.startEdit(0, 0);
75
79
  }
76
80
  },
77
- disabled: true
78
- }],
81
+ {
82
+ itemId: 'removelocation',
83
+ text: 'Remove Location',
84
+ iconCls: 'icon-delete',
85
+ handler: function () {
86
+ var sm = grid.getSelectionModel();
87
+ rowEditing.cancelEdit();
88
+ store.remove(sm.getSelection());
89
+ if (store.getCount() > 0) {
90
+ sm.select(0);
91
+ }
92
+ },
93
+ disabled: true
94
+ }
95
+ ],
79
96
  plugins: [rowEditing],
80
97
  listeners: {
81
- 'selectionchange':function(view, records) {
98
+ 'selectionchange': function (view, records) {
82
99
  grid.down('#removelocation').setDisabled(!records.length);
83
100
  }
84
101
  }
85
102
  });
86
-
87
- var formPanel = Ext.create("Ext.form.Panel",{
88
- region:'north',
89
- frame:false,
90
- bodyStyle:'padding:5px 5px 0',
103
+
104
+ var formPanel = Ext.create("Ext.form.Panel", {
105
+ region: 'north',
106
+ frame: false,
107
+ bodyStyle: 'padding:5px 5px 0',
91
108
  items: [
92
- {
93
- xtype: 'combo',
94
- forceSelection:true,
95
- store: [
96
- ['HYBRID','HYBRID'],
97
- ['ROADMAP','ROADMAP'],
98
- ['SATELLITE','SATELLITE'],
99
- ['TERRAIN','TERRAIN'],
100
- ],
101
- fieldLabel:'Map Type',
102
- value:'SATELLITE',
103
- name: 'mapType',
104
- allowBlank: false,
105
- triggerAction: 'all'
106
- },
107
- {
108
- xtype:'numberfield',
109
- fieldLabel:'Zoom',
110
- allowBlank:false,
111
- value:18,
112
- id:'zoom'
113
- }
109
+ {
110
+ xtype: 'combo',
111
+ forceSelection: true,
112
+ store: [
113
+ ['HYBRID', 'HYBRID'],
114
+ ['ROADMAP', 'ROADMAP'],
115
+ ['SATELLITE', 'SATELLITE'],
116
+ ['TERRAIN', 'TERRAIN']
117
+ ],
118
+ fieldLabel: 'Map Type',
119
+ value: 'SATELLITE',
120
+ name: 'mapType',
121
+ allowBlank: false,
122
+ triggerAction: 'all'
123
+ },
124
+ {
125
+ xtype: 'numberfield',
126
+ fieldLabel: 'Zoom',
127
+ allowBlank: false,
128
+ value: 18,
129
+ id: 'zoom'
130
+ }
114
131
  ]
115
132
  });
116
133
 
117
134
 
118
- var addGoogleMapWidgetWindow = Ext.create("Ext.window.Window",{
119
- layout:'border',
120
- width:500,
121
- title:'Add Map Widget',
122
- height:350,
135
+ var addGoogleMapWidgetWindow = Ext.create("Ext.window.Window", {
136
+ layout: 'border',
137
+ width: 500,
138
+ title: 'Add Map Widget',
139
+ height: 350,
123
140
  plain: true,
124
- buttonAlign:'center',
125
- items:[formPanel,grid],
126
- buttons: [{
127
- text:'Submit',
128
- listeners:{
129
- 'click':function(button){
130
- var window = button.findParentByType('window');
131
- var formPanel = window.query('form')[0];
132
- var basicForm = formPanel.getForm();
133
- var mapType = basicForm.findField('mapType').getValue();
134
- var zoom = basicForm.findField('zoom').getValue();
141
+ buttonAlign: 'center',
142
+ items: [formPanel, grid],
143
+ buttons: [
144
+ {
145
+ text: 'Submit',
146
+ listeners: {
147
+ 'click': function (button) {
148
+ var window = button.findParentByType('window');
149
+ var formPanel = window.query('form')[0];
150
+ var basicForm = formPanel.getForm();
151
+ var mapType = basicForm.findField('mapType').getValue();
152
+ var zoom = basicForm.findField('zoom').getValue();
135
153
 
136
- var data = {mapType:mapType,zoom:zoom,dropPins:[]};
137
- grid.store.each(function(record){
138
- data.dropPins.push({
139
- title:record.data.title,
140
- address:record.data.address
141
- })
142
- });
154
+ var data = {mapType: mapType, zoom: zoom, dropPins: null};
155
+ var dropPins = [];
156
+ grid.store.each(function (record) {
157
+ dropPins.push({
158
+ title: record.data.title,
159
+ address: record.data.address
160
+ })
161
+ });
143
162
 
144
- var tpl = new Ext.XTemplate("<%= render_widget :google_map,\n",
145
- ':params => {\n',
146
- ' :zoom => {zoom},',
147
- " :map_type => '{mapType}',",
148
- ' :drop_pins => [\n',
149
- '<tpl for="dropPins">',
150
- " {:title => '{title}', :address => '{address}'},\n",
151
- '</tpl>',
152
- "]}%>");
153
- var content = tpl.apply(data);
154
- content = content.replace(",\n]}%>","\n]}%>")
155
- Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(content);
163
+ data['dropPins'] = Compass.ErpApp.Widgets.GoogleMap.dropPinTemplate.apply(dropPins);
164
+
165
+ var content = Compass.ErpApp.Widgets.GoogleMap.template.apply(data);
166
+ Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(content);
167
+ addGoogleMapWidgetWindow.close();
168
+ }
169
+ }
170
+ },
171
+ {
172
+ text: 'Close',
173
+ handler: function () {
156
174
  addGoogleMapWidgetWindow.close();
157
175
  }
158
176
  }
159
- },{
160
- text: 'Close',
161
- handler: function(){
162
- addGoogleMapWidgetWindow.close();
163
- }
164
- }]
177
+ ]
165
178
  });
166
179
  addGoogleMapWidgetWindow.show();
167
180
  }
168
181
  }
169
182
 
170
183
  Compass.ErpApp.Widgets.AvailableWidgets.push({
171
- name:'Google Map',
172
- iconUrl:'/images/icons/map/map_48x48.png',
173
- onClick:Compass.ErpApp.Widgets.GoogleMap.addGoogleMap,
174
- about:'This widget creates a google map with drop points you setup.'
184
+ name: 'Google Map',
185
+ iconUrl: '/images/icons/map/map_48x48.png',
186
+ onClick: Compass.ErpApp.Widgets.GoogleMap.addGoogleMap,
187
+ about: 'This widget creates a google map with drop points you setup.'
175
188
  });
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  if(!window.mapJsLoaded){
16
- Compass.ErpApp.Utility.JsLoader.load('http://maps.google.com/maps/api/js?sensor=false&callback=loadMap_<%=@uuid%>', false);
16
+ new OnDemandLoadByAjax().load('http://maps.google.com/maps/api/js?sensor=false&callback=loadMap_<%=@uuid%>');
17
17
  window.mapJsLoaded = true;
18
18
  }
19
19
  else{
@@ -1,164 +1,169 @@
1
1
  Compass.ErpApp.Widgets.Login = {
2
- addLogin:function(){
3
- var addLoginWidgetWindow = Ext.create("Ext.window.Window",{
4
- layout:'fit',
5
- width:375,
6
- title:'Add Login Widget',
7
- plain: true,
8
- buttonAlign:'center',
9
- items: Ext.create("Ext.form.Panel",{
10
- labelWidth: 100,
11
- frame:false,
12
- bodyStyle:'padding:5px 5px 0',
13
- defaults: {
14
- width: 225
15
- },
16
- items: [
17
- {
18
- xtype: 'combo',
19
- forceSelection:true,
20
- store: [
21
- [':login_header','Header'],
22
- [':login_page','Page'],
23
- ],
24
- fieldLabel: 'Widget View',
25
- value:':login_page',
26
- name: 'widgetLayout',
27
- allowBlank: false,
28
- triggerAction: 'all',
29
- listeners:{
30
- change:function(field, newValue, oldValue){
31
- var basicForm = field.findParentByType('form').getForm();
32
- var loginWidgetLoginToField = basicForm.findField('loginWidgetLoginTo');
33
- var loginWidgetLogoutToField = basicForm.findField('loginWidgetLogoutTo');
34
- var loginWidgetLoginUrlField = basicForm.findField('loginWidgetLoginUrl');
35
- var loginWidgetSignUpUrlField = basicForm.findField('loginWidgetSignUpUrl');
36
- var loginWidgetResetPasswordUrlField = basicForm.findField('loginWidgetResetPasswordUrl');
37
- if(newValue == ':login_header'){
38
- loginWidgetLoginToField.hide();
39
- loginWidgetLogoutToField.hide();
40
- loginWidgetLoginUrlField.show();
41
- loginWidgetResetPasswordUrlField.hide();
42
- loginWidgetLoginUrlField.setValue('/login');
43
- loginWidgetSignUpUrlField.setValue('/sign-up');
44
- loginWidgetResetPasswordUrlField.setValue('/reset-password');
45
- }
46
- else{
47
- loginWidgetLoginToField.show();
48
- loginWidgetLogoutToField.show();
49
- loginWidgetLoginUrlField.hide();
50
- loginWidgetResetPasswordUrlField.show();
51
- loginWidgetLoginToField.setValue('/home');
52
- loginWidgetLogoutToField.setValue('/home');
53
- loginWidgetSignUpUrlField.setValue('/sign-up');
54
- }
55
- }
56
- }
57
- },
58
- {
59
- xtype:'textfield',
60
- fieldLabel:'Login To',
61
- allowBlank:false,
62
- value:'/home',
63
- id:'loginWidgetLoginTo'
64
- },
65
- {
66
- xtype:'textfield',
67
- fieldLabel:'Logout To',
68
- allowBlank:false,
69
- value:'/home',
70
- id:'loginWidgetLogoutTo'
71
- },
72
- {
73
- xtype:'textfield',
74
- fieldLabel:'Login Url',
75
- allowBlank:false,
76
- hidden:true,
77
- value:'/login',
78
- id:'loginWidgetLoginUrl'
79
- },
80
- {
81
- xtype:'textfield',
82
- toolTip:'Only needed if Signup widget is setup.',
83
- fieldLabel:'Sign Up Url',
84
- allowBlank:true,
85
- value:'/sign-up',
86
- id:'loginWidgetSignUpUrl'
87
- },
88
- {
89
- xtype:'textfield',
90
- toolTip:'Only needed if Reset Password widget is setup.',
91
- fieldLabel:'Reset Password Url',
92
- allowBlank:true,
93
- hidden:true,
94
- value:'/reset-password',
95
- id:'loginWidgetResetPasswordUrl'
96
- }
97
- ]
98
- }),
99
- buttons: [{
100
- text:'Submit',
101
- listeners:{
102
- 'click':function(button){
103
- var tpl = null;
104
- var content = null;
105
- var window = button.findParentByType('window');
106
- var formPanel = window.query('form')[0];
107
- var basicForm = formPanel.getForm();
108
- var action = basicForm.findField('widgetLayout').getValue();
2
+ loginHeaderTemplate: new Ext.Template("<%= render_widget :login,\n",
3
+ " :action => :login_header,\n",
4
+ " :params => {:login_url => '{loginWidgetLoginUrl}',\n",
5
+ " :signup_url => '{loginWidgetSignUpUrl}'}%>"),
6
+ loginPageTemplate: new Ext.Template("<%= render_widget :login,\n",
7
+ " :params => {:login_to => '{loginWidgetLoginTo}',\n",
8
+ " :logout_to => '{loginWidgetLogoutTo}',\n",
9
+ " #optional field if Sign Up widget is setup\n",
10
+ " #:signup_url => '{loginWidgetSignUpUrl}',\n",
11
+ " #optional field if Reset Password widget is setup\n",
12
+ " #:reset_password_url => '{loginWidgetResetPasswordUrl}'}%>"),
109
13
 
110
- var loginWidgetSignUpUrlField = basicForm.findField('loginWidgetSignUpUrl');
111
- var loginWidgetResetPasswordUrlField = basicForm.findField('loginWidgetResetPasswordUrl');
112
- var data = {
113
- action:action
114
- };
115
- data.loginWidgetSignUpUrl = loginWidgetSignUpUrlField.getValue();
116
- data.loginWidgetResetPasswordUrl = loginWidgetResetPasswordUrlField.getValue();
117
- if(action == ':login_header'){
118
- var loginWidgetLoginUrlField = basicForm.findField('loginWidgetLoginUrl');
119
- data.loginWidgetLoginUrl = loginWidgetLoginUrlField.getValue();
120
- tpl = new Ext.XTemplate("<%= render_widget :login,\n",
121
- " :action => :login_header,\n",
122
- " :params => {:login_url => '{loginWidgetLoginUrl}',\n",
123
- " :signup_url => '{loginWidgetSignUpUrl}'}%>");
124
- content = tpl.apply(data);
125
- }
126
- else{
127
- var loginWidgetLoginToField = basicForm.findField('loginWidgetLoginTo');
128
- var loginWidgetLogoutToField = basicForm.findField('loginWidgetLogoutTo');
129
- data.loginWidgetLoginTo = loginWidgetLoginToField.getValue();
130
- data.loginWidgetLogoutTo = loginWidgetLogoutToField.getValue();
131
- tpl = new Ext.XTemplate("<%= render_widget :login,\n",
132
- " :params => {:login_to => '{loginWidgetLoginTo}',\n",
133
- " :logout_to => '{loginWidgetLogoutTo}',\n",
134
- " #optional field if Sign Up widget is setup\n",
135
- " #:signup_url => '{loginWidgetSignUpUrl}',\n",
136
- " #optional field if Reset Password widget is setup\n",
137
- " #:reset_password_url => '{loginWidgetResetPasswordUrl}'}%>");
138
- content = tpl.apply(data);
139
- }
14
+ addLogin: function () {
15
+ var self = this;
140
16
 
141
- //add rendered template to center region editor
142
- Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(content);
143
- addLoginWidgetWindow.close();
144
- }
145
- }
146
- },{
147
- text: 'Close',
148
- handler: function(){
149
- addLoginWidgetWindow.close();
150
- }
151
- }]
152
- });
153
- addLoginWidgetWindow.show();
154
- }
17
+ var addLoginWidgetWindow = Ext.create("Ext.window.Window", {
18
+ layout: 'fit',
19
+ width: 375,
20
+ title: 'Add Login Widget',
21
+ plain: true,
22
+ buttonAlign: 'center',
23
+ items: Ext.create("Ext.form.Panel", {
24
+ labelWidth: 100,
25
+ frame: false,
26
+ bodyStyle: 'padding:5px 5px 0',
27
+ defaults: {
28
+ width: 225
29
+ },
30
+ items: [
31
+ {
32
+ xtype: 'combo',
33
+ forceSelection: true,
34
+ store: [
35
+ [':login_header', 'Header'],
36
+ [':login_page', 'Page']
37
+ ],
38
+ fieldLabel: 'Widget View',
39
+ value: ':login_page',
40
+ name: 'widgetLayout',
41
+ allowBlank: false,
42
+ triggerAction: 'all',
43
+ listeners: {
44
+ change: function (field, newValue, oldValue) {
45
+ var basicForm = field.findParentByType('form').getForm();
46
+ var loginWidgetLoginToField = basicForm.findField('loginWidgetLoginTo');
47
+ var loginWidgetLogoutToField = basicForm.findField('loginWidgetLogoutTo');
48
+ var loginWidgetLoginUrlField = basicForm.findField('loginWidgetLoginUrl');
49
+ var loginWidgetSignUpUrlField = basicForm.findField('loginWidgetSignUpUrl');
50
+ var loginWidgetResetPasswordUrlField = basicForm.findField('loginWidgetResetPasswordUrl');
51
+ if (newValue == ':login_header') {
52
+ loginWidgetLoginToField.hide();
53
+ loginWidgetLogoutToField.hide();
54
+ loginWidgetLoginUrlField.show();
55
+ loginWidgetResetPasswordUrlField.hide();
56
+ loginWidgetLoginUrlField.setValue('/login');
57
+ loginWidgetSignUpUrlField.setValue('/sign-up');
58
+ loginWidgetResetPasswordUrlField.setValue('/reset-password');
59
+ }
60
+ else {
61
+ loginWidgetLoginToField.show();
62
+ loginWidgetLogoutToField.show();
63
+ loginWidgetLoginUrlField.hide();
64
+ loginWidgetResetPasswordUrlField.show();
65
+ loginWidgetLoginToField.setValue('/home');
66
+ loginWidgetLogoutToField.setValue('/home');
67
+ loginWidgetSignUpUrlField.setValue('/sign-up');
68
+ }
69
+ }
70
+ }
71
+ },
72
+ {
73
+ xtype: 'textfield',
74
+ fieldLabel: 'Login To',
75
+ allowBlank: false,
76
+ value: '/home',
77
+ id: 'loginWidgetLoginTo'
78
+ },
79
+ {
80
+ xtype: 'textfield',
81
+ fieldLabel: 'Logout To',
82
+ allowBlank: false,
83
+ value: '/home',
84
+ id: 'loginWidgetLogoutTo'
85
+ },
86
+ {
87
+ xtype: 'textfield',
88
+ fieldLabel: 'Login Url',
89
+ allowBlank: false,
90
+ hidden: true,
91
+ value: '/login',
92
+ id: 'loginWidgetLoginUrl'
93
+ },
94
+ {
95
+ xtype: 'textfield',
96
+ toolTip: 'Only needed if Signup widget is setup.',
97
+ fieldLabel: 'Sign Up Url',
98
+ allowBlank: true,
99
+ value: '/sign-up',
100
+ id: 'loginWidgetSignUpUrl'
101
+ },
102
+ {
103
+ xtype: 'textfield',
104
+ toolTip: 'Only needed if Reset Password widget is setup.',
105
+ fieldLabel: 'Reset Password Url',
106
+ allowBlank: true,
107
+ hidden: true,
108
+ value: '/reset-password',
109
+ id: 'loginWidgetResetPasswordUrl'
110
+ }
111
+ ]
112
+ }),
113
+ buttons: [
114
+ {
115
+ text: 'Submit',
116
+ listeners: {
117
+ 'click': function (button) {
118
+ var content = null;
119
+ var window = button.findParentByType('window');
120
+ var formPanel = window.query('form')[0];
121
+ var basicForm = formPanel.getForm();
122
+ var action = basicForm.findField('widgetLayout').getValue();
123
+
124
+ var loginWidgetSignUpUrlField = basicForm.findField('loginWidgetSignUpUrl');
125
+ var loginWidgetResetPasswordUrlField = basicForm.findField('loginWidgetResetPasswordUrl');
126
+ var data = {
127
+ action: action
128
+ };
129
+ data.loginWidgetSignUpUrl = loginWidgetSignUpUrlField.getValue();
130
+ data.loginWidgetResetPasswordUrl = loginWidgetResetPasswordUrlField.getValue();
131
+ if (action == ':login_header') {
132
+ var loginWidgetLoginUrlField = basicForm.findField('loginWidgetLoginUrl');
133
+ data.loginWidgetLoginUrl = loginWidgetLoginUrlField.getValue();
134
+ content = Compass.ErpApp.Widgets.Login.loginHeaderTemplate.apply(data);
135
+ }
136
+ else {
137
+ var loginWidgetLoginToField = basicForm.findField('loginWidgetLoginTo');
138
+ var loginWidgetLogoutToField = basicForm.findField('loginWidgetLogoutTo');
139
+ data.loginWidgetLoginTo = loginWidgetLoginToField.getValue();
140
+ data.loginWidgetLogoutTo = loginWidgetLogoutToField.getValue();
141
+ content = Compass.ErpApp.Widgets.Login.loginPageTemplate.apply(data);
142
+ }
143
+
144
+ //add rendered template to center region editor
145
+ Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(content);
146
+ addLoginWidgetWindow.close();
147
+ }
148
+ }
149
+ },
150
+ {
151
+ text: 'Close',
152
+ handler: function () {
153
+ addLoginWidgetWindow.close();
154
+ }
155
+ }
156
+ ]
157
+ });
158
+ addLoginWidgetWindow.show();
159
+ }
155
160
  }
156
161
 
157
162
  Compass.ErpApp.Widgets.AvailableWidgets.push({
158
- name:'Login',
159
- iconUrl:'/images/icons/key/key_48x48.png',
160
- onClick:Compass.ErpApp.Widgets.Login.addLogin,
161
- about:'This widget creates a login form to allow users to log into the website.'
163
+ name: 'Login',
164
+ iconUrl: '/images/icons/key/key_48x48.png',
165
+ onClick: Compass.ErpApp.Widgets.Login.addLogin,
166
+ about: 'This widget creates a login form to allow users to log into the website.'
162
167
  });
163
168
 
164
169
 
@@ -1,6 +1,8 @@
1
1
  Compass.ErpApp.Widgets.ManageProfile = {
2
+ template: new Ext.Template('<%= render_widget :manage_profile %>'),
3
+
2
4
  addManageProfile:function(){
3
- Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror('<%= render_widget :manage_profile %>');
5
+ Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(Compass.ErpApp.Widgets.ManageProfile.template.apply());
4
6
  }
5
7
  }
6
8
 
@@ -1,6 +1,8 @@
1
1
  Compass.ErpApp.Widgets.ResetPassword = {
2
+ template: new Ext.Template('<%= render_widget :reset_password, :params => {:login_url => "/login"}%>'),
3
+
2
4
  addResetPassword:function(){
3
- Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror('<%= render_widget :reset_password, :params => {:login_url => "/login"}%>');
5
+ Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(Compass.ErpApp.Widgets.ResetPassword.template.apply());
4
6
  }
5
7
  }
6
8