knitkit 2.1.2 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
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,111 +1,110 @@
1
1
  Compass.ErpApp.Widgets.DynamicForms = {
2
- addDynamicForm:function(){
3
- var addDynamicFormWidgetWindow = Ext.create("Ext.window.Window",{
4
- layout:'fit',
5
- width:375,
6
- title:'Add DynamicForm Widget',
2
+ template: new Ext.XTemplate(
3
+ "<% # Optional Parameters:\n",
4
+ " # internal_identifier: Models can have multiple forms\n",
5
+ " # Leave blank if you want to use the default form\n",
6
+ " # Specify internal_identifier to choose a specific form %>\n",
7
+ "<%= render_widget :dynamic_forms,\n",
8
+ " :params => {:model_name => '{WidgetDynamicFormModelName}',\n",
9
+ " :internal_identifier => ''",
10
+ '<tpl if="WidgetDynamicFormWidth">',
11
+ ",\n :width => {WidgetDynamicFormWidth} ",
12
+ '</tpl>',
13
+ "} %>"),
14
+
15
+ addDynamicForm: function () {
16
+ var addDynamicFormWidgetWindow = Ext.create("Ext.window.Window", {
17
+ layout: 'fit',
18
+ width: 375,
19
+ title: 'Add DynamicForm Widget',
7
20
  plain: true,
8
- buttonAlign:'center',
9
- items: Ext.create("Ext.form.Panel",{
21
+ buttonAlign: 'center',
22
+ items: Ext.create("Ext.form.Panel", {
10
23
  labelWidth: 100,
11
- frame:false,
12
- bodyStyle:'padding:5px 5px 0',
24
+ frame: false,
25
+ bodyStyle: 'padding:5px 5px 0',
13
26
  defaults: {
14
27
  width: 325
15
28
  },
16
29
  items: [
17
- {
18
- xtype:'combo',
19
- value:'',
20
- loadingText:'Retrieving Dynamic Form Models ...',
21
- store:Ext.create('Ext.data.Store',{
22
- proxy:{
23
- type:'ajax',
24
- reader:{
25
- type:'json',
26
- root: 'dynamic_form_model'
27
- },
28
- url:'/erp_forms/erp_app/desktop/dynamic_forms/models/index'
29
- },
30
- fields:[
31
- {
32
- name:'id'
30
+ {
31
+ xtype: 'combo',
32
+ value: '',
33
+ loadingText: 'Retrieving Dynamic Form Models ...',
34
+ store: Ext.create('Ext.data.Store', {
35
+ proxy: {
36
+ type: 'ajax',
37
+ reader: {
38
+ type: 'json',
39
+ root: 'dynamic_form_model'
40
+ },
41
+ url: '/erp_forms/erp_app/desktop/dynamic_forms/models/index'
33
42
  },
34
- {
35
- name:'model_name'
36
- }
37
- ]
38
- }),
39
- forceSelection:true,
40
- editable:true,
41
- fieldLabel:'Model Name',
42
- autoSelect:true,
43
- mode: 'remote',
44
- name: 'model_name',
45
- displayField:'model_name',
46
- valueField:'model_name',
47
- triggerAction: 'all',
48
- allowBlank:false,
49
- plugins: [new helpQtip("Dynamic Form Model Name (Class)")]
50
- },
51
- {
52
- xtype:'textfield',
53
- fieldLabel:'Form Width',
54
- name: 'form_width',
55
- allowBlank:true,
56
- plugins: [new helpQtip("Form Width in Pixels. Leave blank for auto width.")]
57
- }
43
+ fields: [
44
+ {
45
+ name: 'id'
46
+ },
47
+ {
48
+ name: 'model_name'
49
+ }
50
+ ]
51
+ }),
52
+ forceSelection: true,
53
+ editable: true,
54
+ fieldLabel: 'Model Name',
55
+ autoSelect: true,
56
+ mode: 'remote',
57
+ name: 'model_name',
58
+ displayField: 'model_name',
59
+ valueField: 'model_name',
60
+ triggerAction: 'all',
61
+ allowBlank: false,
62
+ plugins: [new helpQtip("Dynamic Form Model Name (Class)")]
63
+ },
64
+ {
65
+ xtype: 'textfield',
66
+ fieldLabel: 'Form Width',
67
+ name: 'form_width',
68
+ allowBlank: true,
69
+ plugins: [new helpQtip("Form Width in Pixels. Leave blank for auto width.")]
70
+ }
58
71
  ]
59
72
  }),
60
- buttons: [{
61
- text:'Submit',
62
- listeners:{
63
- 'click':function(button){
64
- var tpl = null;
65
- var content = null;
66
- var formPanel = button.findParentByType('window').query('form').first();
67
- var basicForm = formPanel.getForm();
68
- var WidgetDynamicFormModelName = basicForm.findField('model_name');
69
- var WidgetDynamicFormWidth = basicForm.findField('form_width');
70
- if (basicForm.isValid()){
71
- var data = {
72
- WidgetDynamicFormModelName: WidgetDynamicFormModelName.getValue(),
73
- WidgetDynamicFormWidth: WidgetDynamicFormWidth.getValue()
74
- };
75
-
76
- tpl = new Ext.XTemplate(
77
- "<% # Optional Parameters:\n",
78
- " # internal_identifier: Models can have multiple forms\n",
79
- " # Leave blank if you want to use the default form\n",
80
- " # Specify internal_identifier to choose a specific form %>\n",
81
- "<%= render_widget :dynamic_forms,\n",
82
- " :params => {:model_name => '{WidgetDynamicFormModelName}',\n",
83
- " :internal_identifier => ''",
84
- '<tpl if="WidgetDynamicFormWidth">',
85
- ",\n :width => {WidgetDynamicFormWidth} ",
86
- '</tpl>',
87
- "} %>");
88
- content = tpl.apply(data);
73
+ buttons: [
74
+ {
75
+ text: 'Submit',
76
+ listeners: {
77
+ 'click': function (button) {
78
+ var formPanel = button.findParentByType('window').query('form').first(),
79
+ basicForm = formPanel.getForm(),
80
+ WidgetDynamicFormModelName = basicForm.findField('model_name'),
81
+ WidgetDynamicFormWidth = basicForm.findField('form_width');
82
+ if (basicForm.isValid()) {
83
+ var data = {
84
+ WidgetDynamicFormModelName: WidgetDynamicFormModelName.getValue(),
85
+ WidgetDynamicFormWidth: WidgetDynamicFormWidth.getValue()
86
+ };
89
87
 
90
- //add rendered template to center region editor
91
- Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(content);
92
- addDynamicFormWidgetWindow.close();
88
+ //add rendered template to center region editor
89
+ Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(Compass.ErpApp.Widgets.DynamicForms.template.apply(data));
90
+ addDynamicFormWidgetWindow.close();
91
+ }
93
92
  }
94
93
  }
94
+ },
95
+ {
96
+ text: 'Close',
97
+ handler: function () {
98
+ addDynamicFormWidgetWindow.close();
99
+ }
95
100
  }
96
- },{
97
- text: 'Close',
98
- handler: function(){
99
- addDynamicFormWidgetWindow.close();
100
- }
101
- }]
102
- });
103
- addDynamicFormWidgetWindow.show();
101
+ ]
102
+ }).show();
104
103
  }
105
104
  };
106
105
 
107
106
  Compass.ErpApp.Widgets.AvailableWidgets.push({
108
- name:'Dynamic Forms',
109
- iconUrl:'/images/icons/document_text/document_text_48x48.png',
110
- onClick:Compass.ErpApp.Widgets.DynamicForms.addDynamicForm
107
+ name: 'Dynamic Forms',
108
+ iconUrl: '/images/icons/document_text/document_text_48x48.png',
109
+ onClick: Compass.ErpApp.Widgets.DynamicForms.addDynamicForm
111
110
  });
@@ -4,13 +4,13 @@ module Widgets
4
4
 
5
5
  def index
6
6
  @model_name = params[:model_name]
7
- @title = params[:title] || params[:model_name]
8
- @width = params[:width] || '100%'
9
- @height = params[:height] || 500
10
- @page = params[:page] || true
11
- @page_size = params[:page_size] || 10
12
- @display_msg = params[:display_msg] || 'Displaying {0} - {1} of {2}'
13
- @empty_msg = params[:empty_msg] || 'Empty'
7
+ @title = params[:grid][:title] || params[:model].pluralize
8
+ @width = params[:grid][:width] || '100%'
9
+ @height = params[:grid][:height] || 500
10
+ @page = params[:grid][:page] || true
11
+ @page_size = params[:grid][:page_size] || 10
12
+ @display_msg = params[:grid][:display_msg] || 'Displaying {0} - {1} of {2}'
13
+ @empty_msg = params[:grid][:empty_msg] || 'Empty'
14
14
 
15
15
  render :view => :index
16
16
  end
@@ -1,167 +1,166 @@
1
1
  Compass.ErpApp.Widgets.DynamicGrid = {
2
- addWidget:function () {
2
+ template: new Ext.XTemplate("<%= render_widget :dynamic_grid, :params => {:model_name => '{model_name}',\n",
3
+ " :grid => {\n",
4
+ " :title => '{title}',\n",
5
+ " :width => {width},\n",
6
+ " :height => {height},\n",
7
+ " :page => {page_results:this.toBoolean},\n",
8
+ " :page_size => {pageSize},\n",
9
+ " :display_msg => '{displayMsg}',\n",
10
+ " :empty_msg => '{emptyMsg}'\n",
11
+ " }\n",
12
+ "} %>",
13
+ {
14
+ toBoolean: function (value) {
15
+ var result = 'false';
16
+ if (value == 'y') {
17
+ result = 'true';
18
+ }
19
+ return result;
20
+ }
21
+ }),
22
+
23
+ addWidget: function () {
3
24
  Ext.create("Ext.window.Window", {
4
- title:'Add Dynamic Grid',
5
- plain:true,
6
- buttonAlign:'center',
7
- items:Ext.create("Ext.form.Panel", {
8
- labelWidth:100,
9
- frame:false,
10
- bodyStyle:'padding:5px 5px 0',
11
- defaults:{
12
- width:325
25
+ title: 'Add Dynamic Grid',
26
+ plain: true,
27
+ buttonAlign: 'center',
28
+ items: Ext.create("Ext.form.Panel", {
29
+ labelWidth: 100,
30
+ frame: false,
31
+ bodyStyle: 'padding:5px 5px 0',
32
+ defaults: {
33
+ width: 325
13
34
  },
14
- items:[
35
+ items: [
15
36
  {
16
- xtype:'combo',
17
- value:'',
18
- loadingText:'Retrieving Dynamic Form Models ...',
19
- store:Ext.create('Ext.data.Store', {
20
- proxy:{
21
- type:'ajax',
22
- reader:{
23
- type:'json',
24
- root:'dynamic_form_model'
37
+ xtype: 'combo',
38
+ width:300,
39
+ value: '',
40
+ loadingText: 'Retrieving Dynamic Form Models ...',
41
+ store: Ext.create('Ext.data.Store', {
42
+ proxy: {
43
+ type: 'ajax',
44
+ reader: {
45
+ type: 'json',
46
+ root: 'dynamic_form_model'
25
47
  },
26
- url:'/erp_forms/erp_app/desktop/dynamic_forms/models/index'
48
+ url: '/erp_forms/erp_app/desktop/dynamic_forms/models/index'
27
49
  },
28
- fields:[
50
+ fields: [
29
51
  {
30
- name:'id'
52
+ name: 'id'
31
53
  },
32
54
  {
33
- name:'model_name'
55
+ name: 'model_name'
34
56
  }
35
57
  ]
36
58
  }),
37
- forceSelection:true,
38
- editable:true,
39
- fieldLabel:'Model Name',
40
- autoSelect:true,
41
- mode:'remote',
42
- name:'model_name',
43
- displayField:'model_name',
44
- valueField:'model_name',
45
- triggerAction:'all',
46
- allowBlank:false,
47
- plugins:[new helpQtip("Dynamic Form Model Name (Class)")],
48
- listeners:{
49
- select:function(){
59
+ forceSelection: true,
60
+ editable: true,
61
+ fieldLabel: 'Model Name',
62
+ autoSelect: true,
63
+ mode: 'remote',
64
+ name: 'model_name',
65
+ displayField: 'model_name',
66
+ valueField: 'model_name',
67
+ triggerAction: 'all',
68
+ allowBlank: false,
69
+ plugins: [new helpQtip("Dynamic Form Model Name (Class)")],
70
+ listeners: {
71
+ select: function () {
50
72
  this.up('form').down('fieldset').enable();
51
73
  }
52
74
  }
53
75
  },
54
76
  {
55
- xtype:'fieldset',
56
- title:'Grid Options',
57
- disabled:true,
58
- items:[
77
+ xtype: 'fieldset',
78
+ title: 'Grid Options',
79
+ disabled: true,
80
+ items: [
59
81
  {
60
- xtype:'textfield',
61
- name:'title',
62
- fieldLabel:'Title'
82
+ xtype: 'textfield',
83
+ name: 'title',
84
+ fieldLabel: 'Title'
63
85
  },
64
86
  {
65
- xtype:'textfield',
66
- name:'width',
67
- value:500,
68
- fieldLabel:'Width'
87
+ xtype: 'textfield',
88
+ name: 'width',
89
+ value: 500,
90
+ fieldLabel: 'Width'
69
91
  },
70
92
  {
71
- xtype:'textfield',
72
- name:'height',
73
- value:500,
74
- fieldLabel:'Height'
93
+ xtype: 'textfield',
94
+ name: 'height',
95
+ value: 500,
96
+ fieldLabel: 'Height'
75
97
  },
76
98
  {
77
- xtype:'fieldcontainer',
78
- defaultType:'radiofield',
79
- width:200,
80
- defaults:{
81
- flex:1
99
+ xtype: 'fieldcontainer',
100
+ defaultType: 'radiofield',
101
+ width: 200,
102
+ defaults: {
103
+ flex: 1
82
104
  },
83
- layout:'hbox',
84
- fieldLabel:'Page Results',
85
- toolTip:'Page results.',
86
- items:[
105
+ layout: 'hbox',
106
+ fieldLabel: 'Page Results',
107
+ toolTip: 'Page results.',
108
+ items: [
87
109
  {
88
- boxLabel:'Yes',
89
- name:'page_results',
90
- checked:true,
91
- inputValue:'y'
110
+ boxLabel: 'Yes',
111
+ name: 'page_results',
112
+ checked: true,
113
+ inputValue: 'y'
92
114
  },
93
115
  {
94
- boxLabel:'No',
95
- name:'page_results',
96
- inputValue:'n'
116
+ boxLabel: 'No',
117
+ name: 'page_results',
118
+ inputValue: 'n'
97
119
  }
98
120
  ]
99
121
  },
100
122
  {
101
- xtype:'textfield',
102
- name:'pageSize',
103
- value:20,
104
- fieldLabel:'Rows per Page'
123
+ xtype: 'textfield',
124
+ name: 'pageSize',
125
+ value: 20,
126
+ fieldLabel: 'Rows per Page'
105
127
  },
106
128
  {
107
- xtype:'textfield',
108
- name:'displayMsg',
109
- value:'Displaying {0} - {1} of {2}',
110
- fieldLabel:'Paging Display Message'
129
+ xtype: 'textfield',
130
+ name: 'displayMsg',
131
+ value: 'Displaying {0} - {1} of {2}',
132
+ fieldLabel: 'Paging Display Message'
111
133
  },
112
134
  {
113
- xtype:'textfield',
114
- name:'emptyMsg',
115
- value:'Empty',
116
- fieldLabel:'Empty Message'
135
+ xtype: 'textfield',
136
+ name: 'emptyMsg',
137
+ value: 'Empty',
138
+ fieldLabel: 'Empty Message'
117
139
  }
118
140
  ]
119
141
  }
120
142
  ]
121
143
  }),
122
- buttons:[
144
+ buttons: [
123
145
  {
124
146
  text:'Submit',
125
147
  listeners:{
126
148
  'click':function (button) {
127
- var tpl = new Ext.XTemplate("<%= render_widget :dynamic_grid, :params => {:model_name => '{model_name}',\n",
128
- " :grid => {\n",
129
- " :title => '{title}',\n",
130
- " :width => {width},\n",
131
- " :height => {height},\n",
132
- " :page => {page_results:this.toBoolean},\n",
133
- " :page_size => {pageSize},\n",
134
- " :display_msg => '{displayMsg}',\n",
135
- " :empty_msg => '{emptyMsg}'\n",
136
- " }\n",
137
- "} %>",
138
- {
139
- toBoolean:function (value) {
140
- var result = 'false';
141
- if (value == 'y') {
142
- result = 'true';
143
- }
144
- return result;
145
- }
146
- }),
147
- content = null,
148
- window = button.findParentByType('window'),
149
+ var window = button.findParentByType('window'),
149
150
  formPanel = window.query('form')[0],
150
151
  grid = formPanel.down('grid'),
151
152
  basicForm = formPanel.getForm(),
152
153
  values = basicForm.getValues();
153
154
 
154
- content = tpl.apply(values);
155
-
156
155
  //add rendered template to center region editor
157
- Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(content);
156
+ Ext.getCmp('knitkitCenterRegion').addContentToActiveCodeMirror(Compass.ErpApp.Widgets.DynamicGrid.template.apply(values));
158
157
  button.up('window').close();
159
158
  }
160
159
  }
161
160
  },
162
161
  {
163
- text:'Close',
164
- handler:function (btn) {
162
+ text: 'Close',
163
+ handler: function (btn) {
165
164
  btn.up('window').close();
166
165
  }
167
166
  }
@@ -171,8 +170,8 @@ Compass.ErpApp.Widgets.DynamicGrid = {
171
170
  }
172
171
 
173
172
  Compass.ErpApp.Widgets.AvailableWidgets.push({
174
- name:'Dynamic Grid',
175
- iconUrl:'/images/icons/grid/grid_48x48.png',
176
- onClick:Compass.ErpApp.Widgets.DynamicGrid.addWidget,
177
- about:'Add grid for dynamic model'
173
+ name: 'Dynamic Grid',
174
+ iconUrl: '/images/icons/grid/grid_48x48.png',
175
+ onClick: Compass.ErpApp.Widgets.DynamicGrid.addWidget,
176
+ about: 'Add grid for dynamic model'
178
177
  });
@@ -7,7 +7,7 @@
7
7
  :dataUrl => build_widget_url('data', nil, {:model_name => @model_name}),
8
8
  :width => @width,
9
9
  :height => @height,
10
- :page => @page,
10
+ :page => @page_results,
11
11
  :pageSize => @page_size,
12
12
  :displayMsg => @display_msg,
13
13
  :emptyMsg => @empty_msg)