compass_ae_console 1.0.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/lib/compass_ae_console/engine.rb +0 -1
  2. data/lib/compass_ae_console/version.rb +2 -2
  3. data/spec/dummy/config/application.rb +6 -0
  4. data/spec/dummy/config/environments/spec.rb +3 -0
  5. data/spec/dummy/config/routes.rb +1 -1
  6. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  7. data/spec/dummy/db/data_migrations/20110608185830_create_default_dynamic_models_and_forms.erp_forms.rb +33 -0
  8. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  9. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +298 -0
  10. data/spec/dummy/db/data_migrations/20110728201730_update_preferences.erp_app.rb +53 -0
  11. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  12. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
  13. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
  14. data/spec/dummy/db/data_migrations/20110824020426_create_desktop_app_console.compass_ae_console.rb +20 -0
  15. data/spec/dummy/db/data_migrations/20110828190913_create_desktop_app_dynamic_forms.erp_forms.rb +19 -0
  16. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  17. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +30 -0
  18. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +51 -0
  19. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  20. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  21. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +31 -0
  22. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
  23. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
  24. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
  25. data/spec/dummy/db/data_migrations/20120824013449_create_ticket_form.erp_forms.rb +67 -0
  26. data/spec/dummy/db/data_migrations/20121026013449_update_ticket_form.erp_forms.rb +65 -0
  27. data/spec/dummy/db/data_migrations/20121026191738_update_contact_form.erp_forms.rb +27 -0
  28. data/spec/dummy/db/migrate/20121207195349_base_erp_services.erp_base_erp_svcs.rb +461 -0
  29. data/spec/dummy/db/migrate/20121207195350_base_tech_services.erp_tech_svcs.rb +255 -0
  30. data/spec/dummy/db/migrate/20121207195351_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  31. data/spec/dummy/db/migrate/20121207195352_base_app_framework.erp_app.rb +276 -0
  32. data/spec/dummy/db/migrate/20121207195353_dynamic_forms.erp_forms.rb +95 -0
  33. data/spec/dummy/db/migrate/20121207195354_create_tickets.erp_forms.rb +19 -0
  34. data/spec/dummy/db/migrate/20121207195355_upgrade_dynamic_forms_table.erp_forms.rb +32 -0
  35. data/spec/dummy/db/schema.rb +879 -0
  36. data/spec/dummy/db/spec.sqlite3 +0 -0
  37. data/spec/dummy/log/spec.log +3827 -0
  38. data/spec/spec_helper.rb +11 -3
  39. metadata +89 -9
@@ -0,0 +1,16 @@
1
+ # This migration comes from erp_tech_svcs (originally 20110802200222)
2
+ class ScheduleDeleteExpiredSessionsJob
3
+
4
+ def self.up
5
+ #insert data here
6
+ date = Date.tomorrow
7
+ start_time = DateTime.civil(date.year, date.month, date.day, 2, 0, 1, -(5.0/24.0))
8
+
9
+ ErpTechSvcs::Sessions::DeleteExpiredSessionsJob.schedule_job(start_time)
10
+ end
11
+
12
+ def self.down
13
+ #remove data here
14
+ end
15
+
16
+ end
@@ -0,0 +1,21 @@
1
+ # This migration comes from erp_app (originally 20110816161238)
2
+ class CreateDesktopAppAuditLogViewer
3
+ def self.up
4
+ app = DesktopApplication.create(
5
+ :description => 'Audit Log Viewer',
6
+ :icon => 'icon-history',
7
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.AuditLogViewer',
8
+ :internal_identifier => 'audit_log_viewer',
9
+ :shortcut_id => 'audit_log_viewer-win'
10
+ )
11
+
12
+ app.preference_types << PreferenceType.iid('desktop_shortcut')
13
+ app.preference_types << PreferenceType.iid('autoload_application')
14
+ app.save
15
+
16
+ end
17
+
18
+ def self.down
19
+ DesktopApplication.destroy_all(['internal_identifier = ?','audit_log_viewer'])
20
+ end
21
+ end
@@ -0,0 +1,32 @@
1
+ # This migration comes from erp_app (originally 20110817160743)
2
+ class AddFileManagerApplication
3
+
4
+ def self.up
5
+ if DesktopApplication.find_by_internal_identifier('file_manager').nil?
6
+ file_manager_app = DesktopApplication.create(
7
+ :description => 'File Manager',
8
+ :icon => 'icon-folders',
9
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.FileManager',
10
+ :internal_identifier => 'file_manager',
11
+ :shortcut_id => 'file_manager-win'
12
+ )
13
+
14
+ file_manager_app.preference_types << PreferenceType.iid('desktop_shortcut')
15
+ file_manager_app.preference_types << PreferenceType.iid('autoload_application')
16
+ file_manager_app.save
17
+
18
+ admin_user = User.find_by_username('admin')
19
+ admin_user.desktop.applications << file_manager_app
20
+ admin_user.save
21
+
22
+ truenorth_user = User.find_by_username('truenorth')
23
+ truenorth_user.desktop.applications << file_manager_app
24
+ truenorth_user.save
25
+ end
26
+ end
27
+
28
+ def self.down
29
+ DesktopApplication.find_by_internal_identifier('file_manager').destroy
30
+ end
31
+
32
+ end
@@ -0,0 +1,20 @@
1
+ # This migration comes from compass_ae_console (originally 20110824020426)
2
+ class CreateDesktopAppConsole
3
+ def self.up
4
+ app = DesktopApplication.create(
5
+ :description => 'Compass Console',
6
+ :icon => 'icon-console',
7
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.CompassAeConsole',
8
+ :internal_identifier => 'compass_ae_console',
9
+ :shortcut_id => 'compass_console-win'
10
+ )
11
+
12
+ app.preference_types << PreferenceType.iid('desktop_shortcut')
13
+ app.preference_types << PreferenceType.iid('autoload_application')
14
+ app.save
15
+ end
16
+
17
+ def self.down
18
+ DesktopApplication.destroy_all(['internal_identifier = ?','compass_ae_console'])
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ # This migration comes from erp_forms (originally 20110828190913)
2
+ class CreateDesktopAppDynamicForms
3
+ def self.up
4
+ app = DesktopApplication.create(
5
+ :description => 'Dynamic Forms',
6
+ :icon => 'icon-document',
7
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.DynamicForms',
8
+ :internal_identifier => 'dynamic_forms',
9
+ :shortcut_id => 'dynamic_forms-win'
10
+ )
11
+ app.preference_types << PreferenceType.iid('desktop_shortcut')
12
+ app.preference_types << PreferenceType.iid('autoload_application')
13
+ app.save #probably redundant
14
+ end
15
+
16
+ def self.down
17
+ DesktopApplication.destroy_all(['internal_identifier = ?','dynamic_forms'])
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ # This migration comes from erp_base_erp_svcs (originally 20110913145838)
2
+ class SetupCompassAeInstance
3
+
4
+ def self.up
5
+ CompassAeInstance.create(version: 3.1)
6
+ end
7
+
8
+ def self.down
9
+ #remove data here
10
+ end
11
+
12
+ end
@@ -0,0 +1,30 @@
1
+ # This migration comes from erp_app (originally 20111108183739)
2
+ class AddDefaultCapabilities
3
+
4
+ def self.up
5
+ CapabilityType.create(:internal_identifier => 'edit', :description => 'Edit')
6
+ CapabilityType.create(:internal_identifier => 'delete', :description => 'Delete')
7
+ CapabilityType.create(:internal_identifier => 'create', :description => 'Create')
8
+ CapabilityType.create(:internal_identifier => 'view', :description => 'View')
9
+
10
+ user_management_application = DesktopApplication.find_by_internal_identifier('user_management')
11
+ user_management_application.add_capability('create', 'User', 'admin')
12
+ user_management_application.add_capability('delete', 'User', 'admin')
13
+
14
+ notes_widget = Widget.find_by_internal_identifier('shared_notes_grid')
15
+ notes_widget.add_capability('create', 'Note', 'admin', 'employee')
16
+ notes_widget.add_capability('view', 'Note', 'admin', 'employee')
17
+ notes_widget.add_capability('delete', 'Note', 'admin')
18
+ end
19
+
20
+ def self.down
21
+ CapabilityType.destroy_all("internal_identifier in (#{%w(edit,delete,create,view).map{|iid| "'#{iid}'"}.join(',')}")
22
+
23
+ user_management_application = DesktopApplication.find_by_internal_identifier('user_management')
24
+ user_management_application.remove_all_capabilities
25
+
26
+ notes_widget = Widget.find_by_internal_identifier('shared_notes_grid')
27
+ notes_widget.remove_all_capabilities
28
+ end
29
+
30
+ end
@@ -0,0 +1,51 @@
1
+ # This migration comes from erp_app (originally 20111108183740)
2
+ class AddNewContactWidgets
3
+
4
+ def self.up
5
+ crm_app = OrganizerApplication.find_by_internal_identifier('crm')
6
+ unless crm_app.nil?
7
+ Widget.find_by_internal_identifier('party_contact_management').destroy
8
+
9
+ phone_number_managementt_widget = ::Widget.create(
10
+ :description => 'Phone Number Management',
11
+ :icon => 'icon-grid',
12
+ :xtype => 'phonenumbergrid',
13
+ :internal_identifier => 'phone_number_management'
14
+ )
15
+
16
+ phone_number_managementt_widget.add_role('admin')
17
+ phone_number_managementt_widget.add_role('employee')
18
+
19
+ email_address_management_widget = ::Widget.create(
20
+ :description => 'Email Address Management',
21
+ :icon => 'icon-grid',
22
+ :xtype => 'emailaddressgrid',
23
+ :internal_identifier => 'email_address_management'
24
+ )
25
+
26
+ email_address_management_widget.add_role('admin')
27
+ email_address_management_widget.add_role('employee')
28
+
29
+ postal_address_management_widget = ::Widget.create(
30
+ :description => 'Postal Address Management',
31
+ :icon => 'icon-grid',
32
+ :xtype => 'postaladdressgrid',
33
+ :internal_identifier => 'postal_address_management'
34
+ )
35
+
36
+ postal_address_management_widget.add_role('admin')
37
+ postal_address_management_widget.add_role('employee')
38
+
39
+ crm_app.widgets << phone_number_managementt_widget
40
+ crm_app.widgets << email_address_management_widget
41
+ crm_app.widgets << postal_address_management_widget
42
+
43
+ crm_app.save
44
+ end
45
+ end
46
+
47
+ def self.down
48
+ #remove data here
49
+ end
50
+
51
+ end
@@ -0,0 +1,22 @@
1
+ # This migration comes from erp_tech_svcs (originally 20111111144706)
2
+ class SetupAuditLogTypes
3
+
4
+ def self.up
5
+ application_alt = AuditLogType.create(:description => 'Application', :internal_identifier => 'application')
6
+
7
+ [
8
+ {:description => 'Custom Message', :internal_identifier => 'custom_message'},
9
+ {:description => 'Successful Logout', :internal_identifier => 'successful_logout'},
10
+ {:description => 'Successful Login', :internal_identifier => 'successful_login'},
11
+ {:description => 'Accessed Area', :internal_identifier => 'accessed_area'},
12
+ {:description => 'Session Timeout', :internal_identifier => 'session_timeout'}
13
+ ].each do |alt_hash|
14
+ AuditLogType.create(alt_hash).move_to_child_of(application_alt)
15
+ end
16
+ end
17
+
18
+ def self.down
19
+ AuditLogType.destroy_all
20
+ end
21
+
22
+ end
@@ -0,0 +1,14 @@
1
+ # This migration comes from erp_tech_svcs (originally 20120109173616)
2
+ class CreateDownloadCapabilityType
3
+
4
+ def self.up
5
+ CapabilityType.create(:internal_identifier => 'download', :description => 'Download')
6
+ Role.create(:description => 'File Downloader', :internal_identifier => 'file_downloader')
7
+ end
8
+
9
+ def self.down
10
+ CapabilityType.where("internal_identifier = 'download'").first.destroy unless Role.where("internal_identifier = 'download'").first.nil?
11
+ Role.where("internal_identifier = 'file_downloader'").first.destroy unless Role.where("internal_identifier = 'file_downloader'").first.nil?
12
+ end
13
+
14
+ end
@@ -0,0 +1,31 @@
1
+ # This migration comes from erp_app (originally 20120229160222)
2
+ class AddUserinfoWidget
3
+
4
+ def self.up
5
+ #insert data here
6
+ if Widget.find_by_internal_identifier('userinfo').nil?
7
+ app = Application.find_by_internal_identifier('crm')
8
+
9
+ user = Widget.create(
10
+ :description => 'User Info',
11
+ :internal_identifier => 'userinfo',
12
+ :icon => 'icon-user',
13
+ :xtype => 'userinfo'
14
+ )
15
+
16
+ unless app.nil?
17
+ app.widgets << user
18
+ app.save
19
+ end
20
+
21
+ user.roles << Role.find_by_internal_identifier('admin')
22
+ user.save
23
+ end
24
+ end
25
+
26
+ def self.down
27
+ #remove data here
28
+ Widget.find_by_internal_identifier('userinfo').destroy
29
+ end
30
+
31
+ end
@@ -0,0 +1,11 @@
1
+ # This migration comes from erp_app (originally 20120405193721)
2
+ class CreatePartyAndRoleTypeForCommunicationEvents < ActiveRecord::Migration
3
+ def up
4
+ role_type = RoleType.find_or_create_by_description_and_internal_identifier('Application', 'application')
5
+ party = Party.find_or_create_by_description('Compass AE')
6
+ party.role_type << role_type
7
+ end
8
+
9
+ def down
10
+ end
11
+ end
@@ -0,0 +1,19 @@
1
+ # This migration comes from erp_app (originally 20120411180756)
2
+ class CreateUserManagementMobileApplication
3
+
4
+ def self.up
5
+ app = MobileApplication.create(
6
+ :description => 'User Management',
7
+ :icon => 'icon-user',
8
+ :internal_identifier => 'user_management',
9
+ :base_url => '/erp_app/mobile/user_management/index'
10
+ )
11
+
12
+ app.save
13
+ end
14
+
15
+ def self.down
16
+ MobileApplication.destroy_all("internal_identifier = 'user_management'")
17
+ end
18
+
19
+ end
@@ -0,0 +1,23 @@
1
+ # This migration comes from erp_app (originally 20120418164215)
2
+ class CreateConfigurationManagementDesktopApplication
3
+ def self.up
4
+ app = DesktopApplication.create(
5
+ :description => 'Configuration Management',
6
+ :icon => 'icon-grid',
7
+ :javascript_class_name => 'Compass.ErpApp.Desktop.Applications.ConfigurationManagement',
8
+ :internal_identifier => 'configuration_management',
9
+ :shortcut_id => 'configuration_management-win'
10
+ )
11
+ pt1 = PreferenceType.iid('desktop_shortcut')
12
+ pt1.preferenced_records << app
13
+ pt1.save
14
+
15
+ pt2 = PreferenceType.iid('autoload_application')
16
+ pt2.preferenced_records << app
17
+ pt2.save
18
+ end
19
+
20
+ def self.down
21
+ DesktopApplication.destroy_all(['internal_identifier = ?','configuration_management'])
22
+ end
23
+ end
@@ -0,0 +1,67 @@
1
+ # This migration comes from erp_forms (originally 20120824013449)
2
+ class CreateTicketForm
3
+
4
+ def self.up
5
+ #insert data here
6
+ fields = []
7
+
8
+ fields << DynamicFormField.textfield({:fieldLabel => 'Title', :name => 'title', :width => 250, :allowBlank => false })
9
+ fields << DynamicFormField.combobox([['Open', 'Open'],['Closed', 'Closed']],{:fieldLabel => 'Status', :name => 'status', :width => 175, :allowBlank => false })
10
+ fields << DynamicFormField.combobox([ ['Defect', 'Defect'],
11
+ ['Feature', 'Feature'],
12
+ ['Issue', 'Issue'],
13
+ ['Task', 'Task'],
14
+ ],{:fieldLabel => 'Type', :name => 'type', :width => 175, :allowBlank => false })
15
+ fields << DynamicFormField.combobox([['High', 'High'],['Medium', 'Medium'],['Low', 'Low']],{:fieldLabel => 'Priority', :name => 'priority', :width => 175, :allowBlank => false })
16
+ fields << DynamicFormField.combobox([ ['compass_ae_console', 'compass_ae_console'],
17
+ ['compass_ae_starter_kit', 'compass_ae_starter_kit'],
18
+ ['data_migrator', 'data_migrator'],
19
+ ['erp_agreements', 'erp_agreements'],
20
+ ['erp_app', 'erp_app'],
21
+ ['erp_base_erp_svcs', 'erp_base_erp_svcs'],
22
+ ['erp_commerce', 'erp_commerce'],
23
+ ['erp_communication_events', 'erp_communication_events'],
24
+ ['erp_dev_svcs', 'erp_dev_svcs'],
25
+ ['erp_financial_accounting', 'erp_financial_accounting'],
26
+ ['erp_forms', 'erp_forms'],
27
+ ['erp_inventory', 'erp_inventory'],
28
+ ['erp_invoicing', 'erp_invoicing'],
29
+ ['erp_offers', 'erp_offers'],
30
+ ['erp_orders', 'erp_orders'],
31
+ ['erp_products', 'erp_products'],
32
+ ['erp_rules', 'erp_rules'],
33
+ ['erp_search', 'erp_search'],
34
+ ['erp_tech_svcs', 'erp_tech_svcs'],
35
+ ['erp_txns_and_accts', 'erp_txns_and_accts'],
36
+ ['erp_work_effort', 'erp_work_effort'],
37
+ ['erp_workflow', 'erp_workflow'],
38
+ ['knitkit', 'knitkit'],
39
+ ['master_data_management', 'master_data_management'],
40
+ ['prismpay', 'prismpay'],
41
+ ['rails_db_admin', 'rails_db_admin'],
42
+ ['tenancy', 'tenancy'],
43
+ ['timeshare', 'timeshare']
44
+ ],
45
+ {:fieldLabel => 'Product', :name => 'product', :width => 270, :allowBlank => true })
46
+ fields << DynamicFormField.combobox([['None', 'None']],{:fieldLabel => 'Project', :name => 'project', :width => 175, :allowBlank => true })
47
+ fields << DynamicFormField.related_combobox('User','username',{:fieldLabel => 'Assigned To', :name => 'assigned_to_id', :width => 175, :allowBlank => true })
48
+ fields << DynamicFormField.textarea({:fieldLabel => 'Body', :name => 'body', :width => 400, :height => 300, :allowBlank => false, :display_in_grid => false })
49
+
50
+ d = DynamicForm.new
51
+ d.description = 'Ticket Form'
52
+ d.definition = fields.to_json
53
+ d.model_name = 'Ticket'
54
+ d.internal_identifier = 'ticket'
55
+ d.default = true
56
+ d.dynamic_form_model = DynamicFormModel.create(:model_name => 'Ticket')
57
+ d.msg_target = 'qtip'
58
+ d.save
59
+ end
60
+
61
+ def self.down
62
+ #remove data here
63
+ DynamicForm.find_by_internal_identifier('ticket').destroy
64
+ DynamicFormModel.find_by_model_name('Ticket').destroy
65
+ end
66
+
67
+ end
@@ -0,0 +1,65 @@
1
+ # This migration comes from erp_forms (originally 20121026013449)
2
+ class UpdateTicketForm
3
+
4
+ def self.up
5
+ model = DynamicFormModel.find_by_model_name('Ticket')
6
+ model.create_role
7
+
8
+ #insert data here
9
+ fields = []
10
+
11
+ fields << DynamicFormField.textfield({:fieldLabel => 'Title', :name => 'title', :width => 250, :allowBlank => false })
12
+ fields << DynamicFormField.combobox([['Open', 'Open'],['Closed', 'Closed']],{:fieldLabel => 'Status', :name => 'status', :width => 175, :allowBlank => false })
13
+ fields << DynamicFormField.combobox([ ['Defect', 'Defect'],
14
+ ['Feature', 'Feature'],
15
+ ['Issue', 'Issue'],
16
+ ['Task', 'Task'],
17
+ ],{:fieldLabel => 'Type', :name => 'type', :width => 175, :allowBlank => false })
18
+ fields << DynamicFormField.combobox([['High', 'High'],['Medium', 'Medium'],['Low', 'Low']],{:fieldLabel => 'Priority', :name => 'priority', :width => 175, :allowBlank => false })
19
+ fields << DynamicFormField.combobox([ ['compass_ae_console', 'compass_ae_console'],
20
+ ['compass_ae_starter_kit', 'compass_ae_starter_kit'],
21
+ ['data_migrator', 'data_migrator'],
22
+ ['erp_agreements', 'erp_agreements'],
23
+ ['erp_app', 'erp_app'],
24
+ ['erp_base_erp_svcs', 'erp_base_erp_svcs'],
25
+ ['erp_commerce', 'erp_commerce'],
26
+ ['erp_communication_events', 'erp_communication_events'],
27
+ ['erp_dev_svcs', 'erp_dev_svcs'],
28
+ ['erp_financial_accounting', 'erp_financial_accounting'],
29
+ ['erp_forms', 'erp_forms'],
30
+ ['erp_inventory', 'erp_inventory'],
31
+ ['erp_invoicing', 'erp_invoicing'],
32
+ ['erp_offers', 'erp_offers'],
33
+ ['erp_orders', 'erp_orders'],
34
+ ['erp_products', 'erp_products'],
35
+ ['erp_rules', 'erp_rules'],
36
+ ['erp_search', 'erp_search'],
37
+ ['erp_tech_svcs', 'erp_tech_svcs'],
38
+ ['erp_txns_and_accts', 'erp_txns_and_accts'],
39
+ ['erp_work_effort', 'erp_work_effort'],
40
+ ['erp_workflow', 'erp_workflow'],
41
+ ['knitkit', 'knitkit'],
42
+ ['master_data_management', 'master_data_management'],
43
+ ['prismpay', 'prismpay'],
44
+ ['rails_db_admin', 'rails_db_admin'],
45
+ ['tenancy', 'tenancy'],
46
+ ['timeshare', 'timeshare']
47
+ ],
48
+ {:fieldLabel => 'Product', :name => 'product', :width => 270, :allowBlank => true })
49
+ fields << DynamicFormField.combobox([['None', 'None']],{:fieldLabel => 'Project', :name => 'project', :width => 175, :allowBlank => true })
50
+ fields << DynamicFormField.related_combobox('User','username',{:fieldLabel => 'Assigned To', :name => 'assigned_to_id', :width => 175, :allowBlank => true })
51
+ fields << DynamicFormField.textarea({:fieldLabel => 'Body', :name => 'body', :width => 400, :height => 300, :allowBlank => false, :display_in_grid => false })
52
+
53
+ d = DynamicForm.find_by_internal_identifier('ticket')
54
+ unless d.nil?
55
+ d.definition = fields.to_json
56
+ d.msg_target = 'qtip'
57
+ d.save
58
+ end
59
+ end
60
+
61
+ def self.down
62
+ #remove data here
63
+ end
64
+
65
+ end