erp_app 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -84,7 +84,7 @@ module ErpApp
84
84
  business_party_data[:current_passport_expire_date] = Date.strptime(business_party_data[:current_passport_expire_date], @@date_format) unless business_party_data[:current_passport_expire_date].blank?
85
85
 
86
86
  klass = party_type.constantize
87
- business_party = klass.find(businesss_party_id)
87
+ business_party = klass.find(business_party_id)
88
88
 
89
89
  business_party_data.each do |key,value|
90
90
  key = key.gsub("business_party.", "")
@@ -2,7 +2,7 @@ module ErpApp
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 3
4
4
  MINOR = 1
5
- TINY = 0
5
+ TINY = 1
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
8
8
  end
@@ -156,15 +156,15 @@ Compass.ErpApp.Organizer.Applications.Crm.Base = function (config) {
156
156
  'postaladdressgrid',
157
157
  'shared_notesgrid'
158
158
  ];
159
-
159
+
160
+ for (i = 0; i < xtypes.length; i += 1) {
161
+ panelSouthItems.push({
162
+ xtype:xtypes[i],
163
+ partyId:partyId
164
+ });
165
+ }
166
+
160
167
  if (party_type == 'Individual') {
161
- for (i = 0; i < xtypes.length; i += 1) {
162
- panelSouthItems.push({
163
- xtype:xtypes[i],
164
- partyId:partyId
165
- });
166
- }
167
-
168
168
  var current_passport_expire_date = party.get('current_passport_expire_date');
169
169
  if (!Compass.ErpApp.Utility.isBlank(current_passport_expire_date)) {
170
170
  current_passport_expire_date = Ext.Date.format(current_passport_expire_date, 'm/d/Y');
@@ -173,12 +173,6 @@ Compass.ErpApp.Organizer.Applications.Crm.Base = function (config) {
173
173
  tabtitle = party.get('current_first_name') + ' ' + party.get('current_last_name');
174
174
  }
175
175
  else {
176
- for (i = 0; i < xtypes.length; i += 1) {
177
- panelSouthItems.push({
178
- xtype:xtypes[i]
179
- });
180
- }
181
-
182
176
  tabtitle = party.get('description');
183
177
  }
184
178
 
@@ -198,397 +192,6 @@ Compass.ErpApp.Organizer.Applications.Crm.Base = function (config) {
198
192
  loadPartyDetails(partyId);
199
193
  };
200
194
 
201
- var individualFormFields = [
202
- {
203
- xtype:'textfield',
204
- fieldLabel:'Enterprise Identifier',
205
- allowBlank:true,
206
- name:'enterprise_identifier'
207
- },
208
- {
209
- xtype:'textfield',
210
- fieldLabel:'Title',
211
- allowBlank:true,
212
- name:'current_personal_title'
213
- },
214
- {
215
- xtype:'textfield',
216
- fieldLabel:'First Name',
217
- allowBlank:false,
218
- name:'current_first_name'
219
- },
220
- {
221
- xtype:'textfield',
222
- fieldLabel:'Middle Name',
223
- allowBlank:true,
224
- name:'current_middle_name'
225
- },
226
- {
227
- xtype:'textfield',
228
- fieldLabel:'Last Name',
229
- allowBlank:false,
230
- name:'current_last_name'
231
- },
232
- {
233
- xtype:'textfield',
234
- fieldLabel:'Suffix',
235
- allowBlank:true,
236
- name:'current_suffix'
237
- },
238
- {
239
- xtype:'textfield',
240
- fieldLabel:'Nickname',
241
- allowBlank:true,
242
- name:'current_nickname'
243
- },
244
- {
245
- xtype:'textfield',
246
- fieldLabel:'Passport Number',
247
- allowBlank:true,
248
- name:'current_passport_number'
249
- },
250
- {
251
- xtype:'datefield',
252
- fieldLabel:'Passport Expiration Date',
253
- allowBlank:true,
254
- name:'current_passport_expire_date'
255
- },
256
- {
257
- xtype:'datefield',
258
- fieldLabel:'DOB',
259
- allowBlank:false,
260
- name:'birth_date'
261
- },
262
- {
263
- xtype:'combobox',
264
- fieldLabel:'Gender',
265
- store:Ext.create('Ext.data.Store', {
266
- fields:['v', 'k'],
267
- data:[
268
- {"v":"m", "k":"Male"},
269
- {"v":"f", "k":"Female"}
270
- ]
271
- }),
272
- displayField:'k',
273
- valueField:'v',
274
- name:'gender'
275
- },
276
- {
277
- xtype:'textfield',
278
- fieldLabel:'Total Yrs Work Exp',
279
- allowBlank:true,
280
- name:'total_years_work_experience'
281
- },
282
- {
283
- xtype:'textfield',
284
- fieldLabel:'Marital Status',
285
- allowBlank:true,
286
- name:'marital_status'
287
- },
288
- {
289
- xtype:'textfield',
290
- fieldLabel:'Social Security Number',
291
- allowBlank:true,
292
- name:'social_security_number'
293
- }
294
- ];
295
-
296
- var editIndividualFormFields = [
297
- {
298
- xtype:'hiddenfield',
299
- name:'id'
300
- },
301
- {
302
- xtype:'hiddenfield',
303
- name:'business_party_id'
304
- }
305
- ];
306
-
307
- var addIndividualWindow = Ext.create("Ext.window.Window", {
308
- layout:'fit',
309
- width:375,
310
- title:'New Individual',
311
- height:500,
312
- buttonAlign:'center',
313
- items:new Ext.FormPanel({
314
- labelWidth:110,
315
- frame:false,
316
- bodyStyle:'padding:5px 5px 0',
317
- width:425,
318
- url:'/erp_app/organizer/crm/create_party',
319
- defaults:{
320
- width:225
321
- },
322
- items:[ individualFormFields ]
323
- }),
324
- buttons:[
325
- {
326
- text:'Submit',
327
- listeners:{
328
- 'click':function (button) {
329
- var window = button.findParentByType('window');
330
- var formPanel = window.query('form')[0];
331
- formPanel.getForm().submit({
332
- reset:true,
333
- params:{
334
- party_type:'Individual'
335
- },
336
- waitMsg:'Creating Individual',
337
- success:function (form, action) {
338
- var response = Ext.decode(action.response.responseText);
339
- Ext.Msg.alert("Status", response.message);
340
- if (response.success) {
341
- var individualName = response.individualName;
342
- addIndividualWindow.hide();
343
- var individualsSearchGrid = Ext.ComponentMgr.get('individualSearchGrid');
344
- individualsSearchGrid.store.proxy.extraParams.party_name = individualName;
345
- individualsSearchGrid.store.load();
346
- }
347
- },
348
- failure:function (form, action) {
349
- var message = 'Error adding individual';
350
- if (action.response != null) {
351
- var response = Ext.decode(action.response.responseText);
352
- message = response.message;
353
- }
354
- Ext.Msg.alert("Status", message);
355
- }
356
- });
357
- }
358
- }
359
- },
360
- {
361
- text:'Close',
362
- handler:function () {
363
- addIndividualWindow.hide();
364
- }
365
- }
366
- ]
367
- });
368
-
369
- var editIndividualWindow = Ext.create("Ext.window.Window", {
370
- layout:'fit',
371
- width:375,
372
- title:'Edit Individual',
373
- height:500,
374
- buttonAlign:'center',
375
- items:new Ext.FormPanel({
376
- id:'editIndividualFormPanel',
377
- labelWidth:110,
378
- frame:false,
379
- bodyStyle:'padding:5px 5px 0',
380
- width:425,
381
- url:'/erp_app/organizer/crm/update_party',
382
- defaults:{
383
- width:225
384
- },
385
- items:[ individualFormFields.concat(editIndividualFormFields) ]
386
- }),
387
- buttons:[
388
- {
389
- text:'Submit',
390
- listeners:{
391
- 'click':function (button) {
392
- partyId = Ext.getCmp('editIndividualFormPanel').getForm().findField('id').getValue();
393
-
394
- var window = button.findParentByType('window');
395
- var formPanel = window.query('form')[0];
396
- formPanel.getForm().submit({
397
- reset:true,
398
- params:{
399
- party_type:'Individual'
400
- },
401
- waitMsg:'Updating Individual',
402
- success:function (form, action) {
403
- var response = Ext.decode(action.response.responseText);
404
- Ext.Msg.alert("Status", response.message);
405
- if (response.success) {
406
- updatePartyDetails(partyId);
407
- editIndividualWindow.hide();
408
- Ext.getCmp('individualSearchGrid').store.load();
409
- }
410
- },
411
- failure:function (form, action) {
412
- var message = 'Error updating individual';
413
- if (action.response != null) {
414
- var response = Ext.decode(action.response.responseText);
415
- message = response.message;
416
- }
417
- Ext.Msg.alert("Status", message);
418
- }
419
- });
420
- }
421
- }
422
- },
423
- {
424
- text:'Close',
425
- handler:function () {
426
- editIndividualWindow.hide();
427
- }
428
- }
429
- ]
430
- });
431
-
432
- var organizationFormFields = [
433
- {
434
- xtype:'textfield',
435
- fieldLabel:'Enterprise Identifier',
436
- allowBlank:true,
437
- name:'enterprise_identifier'
438
- },
439
- {
440
- xtype:'textfield',
441
- fieldLabel:'Tax ID',
442
- allowBlank:true,
443
- name:'tax_id_number'
444
- },
445
- {
446
- xtype:'textfield',
447
- fieldLabel:'Description',
448
- allowBlank:true,
449
- name:'description'
450
- }
451
- ];
452
-
453
- var editOrganizationFormFields = [
454
- {
455
- xtype:'hiddenfield',
456
- name:'id'
457
- },
458
- {
459
- xtype:'hiddenfield',
460
- name:'business_party_id'
461
- }
462
- ];
463
-
464
- var addOrganizationWindow = Ext.create("Ext.window.Window", {
465
- layout:'fit',
466
- width:375,
467
- title:'New Organization',
468
- height:160,
469
- buttonAlign:'center',
470
- items:new Ext.FormPanel({
471
- labelWidth:110,
472
- frame:false,
473
- bodyStyle:'padding:5px 5px 0',
474
- width:425,
475
- url:'/erp_app/organizer/crm/create_party',
476
- defaults:{
477
- width:225
478
- },
479
- items:[ organizationFormFields ]
480
- }),
481
- buttons:[
482
- {
483
- text:'Submit',
484
- listeners:{
485
- 'click':function (button) {
486
- var window = button.findParentByType('window');
487
- var formPanel = window.query('form')[0];
488
- formPanel.getForm().submit({
489
- reset:true,
490
- waitMsg:'Creating Organization',
491
- params:{
492
- party_type:'Organization'
493
- },
494
- success:function (form, action) {
495
- var response = Ext.decode(action.response.responseText);
496
- Ext.Msg.alert("Status", response.message);
497
- if (response.success) {
498
- var organizationName = response.organizationName;
499
- addOrganizationWindow.hide();
500
- var organizationSearchGrid = Ext.ComponentMgr.get('organizationSearchGrid');
501
- organizationSearchGrid.store.proxy.extraParams.party_name = organizationName;
502
- organizationSearchGrid.store.load();
503
- }
504
- },
505
- failure:function (form, action) {
506
- var message = "Error adding organization";
507
- if (action.response != null) {
508
- var response = Ext.decode(action.response.responseText);
509
- message = response.message;
510
- }
511
- Ext.Msg.alert("Status", message);
512
- }
513
- });
514
- }
515
- }
516
- },
517
- {
518
- text:'Close',
519
- handler:function () {
520
- addOrganizationWindow.hide();
521
- }
522
- }
523
- ]
524
- });
525
-
526
- var editOrganizationWindow = Ext.create("Ext.window.Window", {
527
- layout:'fit',
528
- width:375,
529
- title:'Edit Organization',
530
- height:160,
531
- buttonAlign:'center',
532
- items:new Ext.FormPanel({
533
- id:'editOrganizationFormPanel',
534
- labelWidth:110,
535
- frame:false,
536
- bodyStyle:'padding:5px 5px 0',
537
- width:425,
538
- url:'/erp_app/organizer/crm/update_party',
539
- defaults:{
540
- width:225
541
- },
542
- items:[ organizationFormFields.concat(editOrganizationFormFields) ]
543
- }),
544
- buttons:[
545
- {
546
- text:'Submit',
547
- listeners:{
548
- 'click':function (button) {
549
- partyId = Ext.getCmp('editOrganizationFormPanel').getForm().findField('id').getValue();
550
-
551
- var window = button.findParentByType('window');
552
- var formPanel = window.query('form')[0];
553
- formPanel.getForm().submit({
554
- reset:true,
555
- waitMsg:'Updating Organization',
556
- params:{
557
- party_type:'Organization'
558
- },
559
- success:function (form, action) {
560
- var response = Ext.decode(action.response.responseText);
561
- Ext.Msg.alert("Status", response.message);
562
- if (response.success) {
563
- updatePartyDetails(partyId);
564
- var organizationName = response.organizationName;
565
- editOrganizationWindow.hide();
566
- var organizationSearchGrid = Ext.ComponentMgr.get('organizationSearchGrid');
567
- organizationSearchGrid.store.proxy.extraParams.party_name = organizationName;
568
- organizationSearchGrid.store.load();
569
- }
570
- },
571
- failure:function (form, action) {
572
- var message = "Error adding organization";
573
- if (action.response != null) {
574
- var response = Ext.decode(action.response.responseText);
575
- message = response.message;
576
- }
577
- Ext.Msg.alert("Status", message);
578
- }
579
- });
580
- }
581
- }
582
- },
583
- {
584
- text:'Close',
585
- handler:function () {
586
- editOrganizationWindow.hide();
587
- }
588
- }
589
- ]
590
- });
591
-
592
195
  var treeMenuStore = Ext.create('Compass.ErpApp.Organizer.DefaultMenuTreeStore', {
593
196
  url:'/erp_app/organizer/crm/menu',
594
197
  rootText:'Customers',
@@ -618,7 +221,7 @@ Compass.ErpApp.Organizer.Applications.Crm.Base = function (config) {
618
221
  iconCls:'icon-add',
619
222
  listeners:{
620
223
  'click':function () {
621
- addIndividualWindow.show();
224
+ Ext.create("Compass.ErpApp.Organizer.Applications.Crm.AddIndividualWindow").show();
622
225
  }
623
226
  }
624
227
  }
@@ -633,7 +236,7 @@ Compass.ErpApp.Organizer.Applications.Crm.Base = function (config) {
633
236
  iconCls:'icon-add',
634
237
  listeners:{
635
238
  'click':function () {
636
- addOrganizationWindow.show();
239
+ Ext.create("Compass.ErpApp.Organizer.Applications.Crm.AddOrganizationWindow").show();
637
240
  }
638
241
  }
639
242
  }
@@ -653,13 +256,13 @@ Compass.ErpApp.Organizer.Applications.Crm.Base = function (config) {
653
256
  partyType:'Individual',
654
257
  listeners:{
655
258
  'addpartybtnclick':function (btn, grid) {
656
- addIndividualWindow.show();
259
+ Ext.create("Compass.ErpApp.Organizer.Applications.Crm.AddIndividualWindow").show();
657
260
  },
658
261
  'editpartybtnclick':function (btn, rec) {
659
- //rec = grid.getSelectionModel().getSelection()[0];
660
262
  if (rec) {
661
- Ext.getCmp('editIndividualFormPanel').getForm().loadRecord(rec);
662
- editIndividualWindow.show();
263
+ var editIndividualWindow = Ext.create("Compass.ErpApp.Organizer.Applications.Crm.EditIndividualWindow");
264
+ editIndividualWindow.show();
265
+ editIndividualWindow.down('form').getForm().loadRecord(rec);
663
266
  }
664
267
  else {
665
268
  Ext.Msg.alert('Please select a record to edit.');
@@ -685,13 +288,14 @@ Compass.ErpApp.Organizer.Applications.Crm.Base = function (config) {
685
288
  partyType:'Organization',
686
289
  listeners:{
687
290
  'addpartybtnclick':function (btn, grid) {
688
- addOrganizationWindow.show();
291
+ Ext.create("Compass.ErpApp.Organizer.Applications.Crm.AddOrganizationWindow").show();
689
292
  },
690
293
  'editpartybtnclick':function (btn, rec) {
691
294
  //rec = grid.getSelectionModel().getSelection()[0];
692
295
  if (rec) {
693
- Ext.getCmp('editOrganizationFormPanel').getForm().loadRecord(rec);
694
- editOrganizationWindow.show();
296
+ var editIndividualWindow = Ext.create("Compass.ErpApp.Organizer.Applications.Crm.EditOrganizationWindow");
297
+ editIndividualWindow.show();
298
+ editIndividualWindow.down('form').getForm().loadRecord(rec);
695
299
  }
696
300
  else {
697
301
  Ext.Msg.alert('Please select a record to edit.');
@@ -0,0 +1,237 @@
1
+ var individualFormFields = [
2
+ {
3
+ xtype:'textfield',
4
+ fieldLabel:'Enterprise Identifier',
5
+ allowBlank:true,
6
+ name:'enterprise_identifier'
7
+ },
8
+ {
9
+ xtype:'textfield',
10
+ fieldLabel:'Title',
11
+ allowBlank:true,
12
+ name:'current_personal_title'
13
+ },
14
+ {
15
+ xtype:'textfield',
16
+ fieldLabel:'First Name',
17
+ allowBlank:false,
18
+ name:'current_first_name'
19
+ },
20
+ {
21
+ xtype:'textfield',
22
+ fieldLabel:'Middle Name',
23
+ allowBlank:true,
24
+ name:'current_middle_name'
25
+ },
26
+ {
27
+ xtype:'textfield',
28
+ fieldLabel:'Last Name',
29
+ allowBlank:false,
30
+ name:'current_last_name'
31
+ },
32
+ {
33
+ xtype:'textfield',
34
+ fieldLabel:'Suffix',
35
+ allowBlank:true,
36
+ name:'current_suffix'
37
+ },
38
+ {
39
+ xtype:'textfield',
40
+ fieldLabel:'Nickname',
41
+ allowBlank:true,
42
+ name:'current_nickname'
43
+ },
44
+ {
45
+ xtype:'textfield',
46
+ fieldLabel:'Passport Number',
47
+ allowBlank:true,
48
+ name:'current_passport_number'
49
+ },
50
+ {
51
+ xtype:'datefield',
52
+ fieldLabel:'Passport Expiration Date',
53
+ allowBlank:true,
54
+ name:'current_passport_expire_date'
55
+ },
56
+ {
57
+ xtype:'datefield',
58
+ fieldLabel:'DOB',
59
+ allowBlank:false,
60
+ name:'birth_date'
61
+ },
62
+ {
63
+ xtype:'combobox',
64
+ fieldLabel:'Gender',
65
+ store:Ext.create('Ext.data.Store', {
66
+ fields:['v', 'k'],
67
+ data:[
68
+ {"v":"m", "k":"Male"},
69
+ {"v":"f", "k":"Female"}
70
+ ]
71
+ }),
72
+ displayField:'k',
73
+ valueField:'v',
74
+ name:'gender'
75
+ },
76
+ {
77
+ xtype:'textfield',
78
+ fieldLabel:'Total Yrs Work Exp',
79
+ allowBlank:true,
80
+ name:'total_years_work_experience'
81
+ },
82
+ {
83
+ xtype:'textfield',
84
+ fieldLabel:'Marital Status',
85
+ allowBlank:true,
86
+ name:'marital_status'
87
+ },
88
+ {
89
+ xtype:'textfield',
90
+ fieldLabel:'Social Security Number',
91
+ allowBlank:true,
92
+ name:'social_security_number'
93
+ }
94
+ ];
95
+
96
+ Ext.define("Compass.ErpApp.Organizer.Applications.Crm.AddIndividualWindow", {
97
+ extend:"Ext.window.Window",
98
+ alias:'widget.crm-addindividualwindow',
99
+ title:'New Individual',
100
+ layout:'fit',
101
+ buttonAlign:'center',
102
+ initComponent: function () {
103
+ Ext.apply(this, {
104
+ items: Ext.create('Ext.form.Panel', {
105
+ items:individualFormFields,
106
+ labelWidth:110,
107
+ closeAction:'hide',
108
+ bodyStyle:'padding:5px 5px 0',
109
+ url:'/erp_app/organizer/crm/create_party',
110
+ defaults:{
111
+ width:225
112
+ }
113
+ })
114
+ });
115
+ this.callParent(arguments);
116
+ },
117
+ buttons:[
118
+ {
119
+ text:'Submit',
120
+ listeners:{
121
+ 'click':function (button) {
122
+ var window = button.up('crm-addindividualwindow');
123
+ var formPanel = window.down('form');
124
+ formPanel.getForm().submit({
125
+ reset:true,
126
+ params:{
127
+ party_type:'Individual'
128
+ },
129
+ waitMsg:'Creating Individual',
130
+ success:function (form, action) {
131
+ var response = Ext.decode(action.response.responseText);
132
+ Ext.Msg.alert("Status", response.message);
133
+ if (response.success) {
134
+ var individualName = response.individualName;
135
+ addIndividualWindow.hide();
136
+ var individualsSearchGrid = Ext.ComponentMgr.get('individualSearchGrid');
137
+ individualsSearchGrid.store.proxy.extraParams.party_name = individualName;
138
+ individualsSearchGrid.store.load();
139
+ }
140
+ },
141
+ failure:function (form, action) {
142
+ var message = 'Error adding individual';
143
+ if (action.response != null) {
144
+ var response = Ext.decode(action.response.responseText);
145
+ message = response.message;
146
+ }
147
+ Ext.Msg.alert("Status", message);
148
+ }
149
+ });
150
+ }
151
+ }
152
+ },
153
+ {
154
+ text:'Close',
155
+ handler:function (btn) {
156
+ btn.up('crm-addindividualwindow').close();
157
+ }
158
+ }
159
+ ]
160
+ });
161
+
162
+ var editIndividualFormFields = [
163
+ {
164
+ xtype:'hiddenfield',
165
+ name:'id'
166
+ },
167
+ {
168
+ xtype:'hiddenfield',
169
+ name:'business_party_id'
170
+ }
171
+ ];
172
+
173
+
174
+ Ext.define("Compass.ErpApp.Organizer.Applications.Crm.EditIndividualWindow", {
175
+ extend:"Ext.window.Window",
176
+ alias:'widget.crm-editindividualwindow',
177
+ layout:'fit',
178
+ title:'Edit Individual',
179
+ buttonAlign:'center',
180
+ initComponent: function () {
181
+ Ext.apply(this, {
182
+ items: Ext.create('Ext.form.Panel', {
183
+ items:individualFormFields.concat(editIndividualFormFields),
184
+ labelWidth:110,
185
+ frame:false,
186
+ bodyStyle:'padding:5px 5px 0',
187
+ url:'/erp_app/organizer/crm/update_party',
188
+ defaults:{
189
+ width:225
190
+ }
191
+ })
192
+ });
193
+ this.callParent(arguments);
194
+ },
195
+ buttons:[
196
+ {
197
+ text:'Submit',
198
+ listeners:{
199
+ 'click':function (button) {
200
+ var window = button.up('crm-editindividualwindow');
201
+ var formPanel = window.down('form');
202
+ var partyId = formPanel.getForm().findField('id').getValue();
203
+ formPanel.getForm().submit({
204
+ reset:false,
205
+ params:{
206
+ party_type:'Individual'
207
+ },
208
+ waitMsg:'Updating Individual',
209
+ success:function (form, action) {
210
+ var response = Ext.decode(action.response.responseText);
211
+ Ext.Msg.alert("Status", response.message);
212
+ if (response.success) {
213
+ updatePartyDetails(partyId);
214
+ editIndividualWindow.hide();
215
+ Ext.getCmp('individualSearchGrid').store.load();
216
+ }
217
+ },
218
+ failure:function (form, action) {
219
+ var message = 'Error updating individual';
220
+ if (action.response != null) {
221
+ var response = Ext.decode(action.response.responseText);
222
+ message = response.message;
223
+ }
224
+ Ext.Msg.alert("Status", message);
225
+ }
226
+ });
227
+ }
228
+ }
229
+ },
230
+ {
231
+ text:'Close',
232
+ handler:function (btn) {
233
+ btn.up('crm-editindividualwindow').close();
234
+ }
235
+ }
236
+ ]
237
+ });
@@ -0,0 +1,167 @@
1
+ var organizationFormFields = [
2
+ {
3
+ xtype:'textfield',
4
+ fieldLabel:'Enterprise Identifier',
5
+ allowBlank:true,
6
+ name:'enterprise_identifier'
7
+ },
8
+ {
9
+ xtype:'textfield',
10
+ fieldLabel:'Tax ID',
11
+ allowBlank:true,
12
+ name:'tax_id_number'
13
+ },
14
+ {
15
+ xtype:'textfield',
16
+ fieldLabel:'Description',
17
+ allowBlank:true,
18
+ name:'description'
19
+ }
20
+ ];
21
+
22
+ var editOrganizationFormFields = [
23
+ {
24
+ xtype:'hiddenfield',
25
+ name:'id'
26
+ },
27
+ {
28
+ xtype:'hiddenfield',
29
+ name:'business_party_id'
30
+ }
31
+ ];
32
+
33
+ Ext.define("Compass.ErpApp.Organizer.Applications.Crm.AddOrganizationWindow", {
34
+ extend:"Ext.window.Window",
35
+ alias:'widget.crm-addorganizationwindow',
36
+ layout:'fit',
37
+ title:'New Organization',
38
+ buttonAlign:'center',
39
+ initComponent: function () {
40
+ Ext.apply(this, {
41
+ items: Ext.create('Ext.form.Panel', {
42
+ items:organizationFormFields,
43
+ labelWidth:110,
44
+ frame:false,
45
+ bodyStyle:'padding:5px 5px 0',
46
+ url:'/erp_app/organizer/crm/create_party',
47
+ defaults:{
48
+ width:225
49
+ }
50
+ })
51
+ });
52
+ this.callParent(arguments);
53
+ },
54
+ buttons:[
55
+ {
56
+ text:'Submit',
57
+ listeners:{
58
+ 'click':function (button) {
59
+ var window = button.up('crm-editorganizationwindow');
60
+ var formPanel = window.down('form');
61
+ formPanel.getForm().submit({
62
+ reset:true,
63
+ waitMsg:'Creating Organization',
64
+ params:{
65
+ party_type:'Organization'
66
+ },
67
+ success:function (form, action) {
68
+ var response = Ext.decode(action.response.responseText);
69
+ Ext.Msg.alert("Status", response.message);
70
+ if (response.success) {
71
+ var organizationName = response.organizationName;
72
+ addOrganizationWindow.hide();
73
+ var organizationSearchGrid = Ext.ComponentMgr.get('organizationSearchGrid');
74
+ organizationSearchGrid.store.proxy.extraParams.party_name = organizationName;
75
+ organizationSearchGrid.store.load();
76
+ }
77
+ },
78
+ failure:function (form, action) {
79
+ var message = "Error adding organization";
80
+ if (action.response != null) {
81
+ var response = Ext.decode(action.response.responseText);
82
+ message = response.message;
83
+ }
84
+ Ext.Msg.alert("Status", message);
85
+ }
86
+ });
87
+ }
88
+ }
89
+ },
90
+ {
91
+ text:'Close',
92
+ handler:function (btn) {
93
+ btn.up('crm-addorganizationwindow').close();
94
+ }
95
+ }
96
+ ]
97
+ });
98
+
99
+ Ext.define("Compass.ErpApp.Organizer.Applications.Crm.EditOrganizationWindow", {
100
+ extend:"Ext.window.Window",
101
+ alias:'widget.crm-editorganizationwindow',
102
+ layout:'fit',
103
+ title:'Edit Organization',
104
+ buttonAlign:'center',
105
+ initComponent: function () {
106
+ Ext.apply(this, {
107
+ items: Ext.create('Ext.form.Panel', {
108
+ items:organizationFormFields.concat(editOrganizationFormFields),
109
+ id:'editOrganizationFormPanel',
110
+ labelWidth:110,
111
+ frame:false,
112
+ bodyStyle:'padding:5px 5px 0',
113
+ url:'/erp_app/organizer/crm/update_party',
114
+ defaults:{
115
+ width:225
116
+ }
117
+ })
118
+ });
119
+ this.callParent(arguments);
120
+ },
121
+ buttons:[
122
+ {
123
+ text:'Submit',
124
+ listeners:{
125
+ 'click':function (button) {
126
+ partyId = Ext.getCmp('editOrganizationFormPanel').getForm().findField('id').getValue();
127
+
128
+ var window = button.up('crm-editorganizationwindow');
129
+ var formPanel = window.down('form');
130
+ formPanel.getForm().submit({
131
+ reset:true,
132
+ waitMsg:'Updating Organization',
133
+ params:{
134
+ party_type:'Organization'
135
+ },
136
+ success:function (form, action) {
137
+ var response = Ext.decode(action.response.responseText);
138
+ Ext.Msg.alert("Status", response.message);
139
+ if (response.success) {
140
+ updatePartyDetails(partyId);
141
+ var organizationName = response.organizationName;
142
+ editOrganizationWindow.hide();
143
+ var organizationSearchGrid = Ext.ComponentMgr.get('organizationSearchGrid');
144
+ organizationSearchGrid.store.proxy.extraParams.party_name = organizationName;
145
+ organizationSearchGrid.store.load();
146
+ }
147
+ },
148
+ failure:function (form, action) {
149
+ var message = "Error adding organization";
150
+ if (action.response != null) {
151
+ var response = Ext.decode(action.response.responseText);
152
+ message = response.message;
153
+ }
154
+ Ext.Msg.alert("Status", message);
155
+ }
156
+ });
157
+ }
158
+ }
159
+ },
160
+ {
161
+ text:'Close',
162
+ handler:function(btn){
163
+ btn.up('crm-editorganizationwindow').close();
164
+ }
165
+ }
166
+ ]
167
+ });
@@ -68,7 +68,7 @@ Ext.define("Compass.ErpApp.Shared.ProfileManagementPanel", {
68
68
  buttonAlign:'left',
69
69
  url:'/users/update_password',
70
70
  defaults:{
71
- width:225
71
+ width:300
72
72
  },
73
73
  items:[
74
74
  {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: erp_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -1652,6 +1652,8 @@ files:
1652
1652
  - public/javascripts/erp_app/mobile/mobile_base.js
1653
1653
  - public/javascripts/erp_app/organizer/applications/crm/base.js
1654
1654
  - public/javascripts/erp_app/organizer/applications/crm/contact_mechanism_grid.js
1655
+ - public/javascripts/erp_app/organizer/applications/crm/individual_windows.js
1656
+ - public/javascripts/erp_app/organizer/applications/crm/organization_windows.js
1655
1657
  - public/javascripts/erp_app/organizer/applications/crm/party_grid.js
1656
1658
  - public/javascripts/erp_app/organizer/applications/crm/relationship_grid.js
1657
1659
  - public/javascripts/erp_app/organizer/applications/crm/userinfo.js
@@ -6605,6 +6607,7 @@ files:
6605
6607
  - public/stylesheets/sencha_touch/resources/themes/stylesheets/sencha-touch/default/widgets/_toolbar.scss
6606
6608
  - public/stylesheets/sencha_touch/resources/themes/templates/project/manifest.rb
6607
6609
  - public/stylesheets/sencha_touch/resources/themes/templates/project/sencha-touch.scss
6610
+ - public/stylesheets/sencha_touch/resources/themes/vendor/compass-recipes/compass-recipes-0.3.0.alpha.1.gem
6608
6611
  - public/stylesheets/sencha_touch/resources/themes/vendor/compass-recipes/compass-recipes.gemspec
6609
6612
  - public/stylesheets/sencha_touch/resources/themes/vendor/compass-recipes/config.rb
6610
6613
  - public/stylesheets/sencha_touch/resources/themes/vendor/compass-recipes/fonts/heydings/heydings_icons.ttf
@@ -7050,18 +7053,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
7050
7053
  - - ! '>='
7051
7054
  - !ruby/object:Gem::Version
7052
7055
  version: '0'
7053
- segments:
7054
- - 0
7055
- hash: 4057907889958183206
7056
7056
  required_rubygems_version: !ruby/object:Gem::Requirement
7057
7057
  none: false
7058
7058
  requirements:
7059
7059
  - - ! '>='
7060
7060
  - !ruby/object:Gem::Version
7061
7061
  version: '0'
7062
- segments:
7063
- - 0
7064
- hash: 4057907889958183206
7065
7062
  requirements: []
7066
7063
  rubyforge_project:
7067
7064
  rubygems_version: 1.8.24