erp_search 3.0.4 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/app/models/extensions/dynamic_form_document.rb +3 -0
  2. data/app/models/extensions/ticket.rb +3 -0
  3. data/app/models/extensions/website_inquiry.rb +3 -0
  4. data/app/models/party_search_fact.rb +2 -0
  5. data/config/sunspot.yml +11 -4
  6. data/lib/erp_search.rb +7 -0
  7. data/lib/erp_search/engine.rb +5 -2
  8. data/lib/erp_search/extensions.rb +2 -0
  9. data/lib/erp_search/extensions/active_record/has_dynamic_solr_search.rb +116 -0
  10. data/lib/erp_search/version.rb +2 -2
  11. data/lib/tasks/dynamic_form_models.rake +42 -0
  12. data/spec/dummy/config/application.rb +6 -0
  13. data/spec/dummy/config/environments/spec.rb +3 -0
  14. data/spec/dummy/config/sunspot.yml +36 -0
  15. data/spec/dummy/db/data_migrations/20110109173616_create_capability_scope_types.erp_tech_svcs.rb +15 -0
  16. data/spec/dummy/db/data_migrations/20110509223702_add_publisher_role.knitkit.rb +22 -0
  17. data/spec/dummy/db/data_migrations/20110525001935_add_usd_currency.erp_base_erp_svcs.rb +12 -0
  18. data/spec/dummy/db/data_migrations/20110608185830_create_default_dynamic_models_and_forms.erp_forms.rb +33 -0
  19. data/spec/dummy/db/data_migrations/20110609150135_add_iso_codes.erp_base_erp_svcs.rb +19 -0
  20. data/spec/dummy/db/data_migrations/20110728201729_erp_app_setup.erp_app.rb +252 -0
  21. data/spec/dummy/db/data_migrations/20110728201733_update_preferences.erp_app.rb +53 -0
  22. data/spec/dummy/db/data_migrations/20110802200222_schedule_delete_expired_sessions_job.erp_tech_svcs.rb +16 -0
  23. data/spec/dummy/db/data_migrations/20110816153456_add_knitkit_application.knitkit.rb +32 -0
  24. data/spec/dummy/db/data_migrations/20110816161238_create_desktop_app_audit_log_viewer.erp_app.rb +21 -0
  25. data/spec/dummy/db/data_migrations/20110817160743_add_file_manager_application.erp_app.rb +32 -0
  26. data/spec/dummy/db/data_migrations/20110828190913_create_desktop_app_dynamic_forms.erp_forms.rb +19 -0
  27. data/spec/dummy/db/data_migrations/20110913145838_setup_compass_ae_instance.erp_base_erp_svcs.rb +12 -0
  28. data/spec/dummy/db/data_migrations/20111108183739_add_default_capabilities.erp_app.rb +23 -0
  29. data/spec/dummy/db/data_migrations/20111108183740_add_new_contact_widgets.erp_app.rb +42 -0
  30. data/spec/dummy/db/data_migrations/20111111144706_setup_audit_log_types.erp_tech_svcs.rb +22 -0
  31. data/spec/dummy/db/data_migrations/20111118182910_setup_knitkit_capabilities.knitkit.rb +128 -0
  32. data/spec/dummy/db/data_migrations/20120109173616_create_download_capability_type.erp_tech_svcs.rb +14 -0
  33. data/spec/dummy/db/data_migrations/20120127144444_create_website_role_types.knitkit.rb +14 -0
  34. data/spec/dummy/db/data_migrations/20120127150505_create_website_default_configuration.knitkit.rb +73 -0
  35. data/spec/dummy/db/data_migrations/20120127150506_add_primary_host_to_website_configuration.knitkit.rb +34 -0
  36. data/spec/dummy/db/data_migrations/20120229160222_add_userinfo_widget.erp_app.rb +29 -0
  37. data/spec/dummy/db/data_migrations/20120316150424_add_is_template_to_default_website_config.knitkit.rb +17 -0
  38. data/spec/dummy/db/data_migrations/20120405193721_create_party_and_role_type_for_communication_events.erp_app.rb +11 -0
  39. data/spec/dummy/db/data_migrations/20120411180756_create_user_management_mobile_application.erp_app.rb +19 -0
  40. data/spec/dummy/db/data_migrations/20120418164215_create_configuration_management_desktop_application.erp_app.rb +23 -0
  41. data/spec/dummy/db/data_migrations/20120809020508_update_website_and_configuration.knitkit.rb +78 -0
  42. data/spec/dummy/db/data_migrations/20120824013449_create_ticket_form.erp_forms.rb +67 -0
  43. data/spec/dummy/db/data_migrations/20121026013449_update_ticket_form.erp_forms.rb +65 -0
  44. data/spec/dummy/db/data_migrations/20121026191738_update_contact_form.erp_forms.rb +27 -0
  45. data/spec/dummy/db/data_migrations/20121116155018_create_group_relationship_and_role_types.erp_tech_svcs.rb +20 -0
  46. data/spec/dummy/db/data_migrations/20121129185611_upgrade_website_role_iid.knitkit.rb +21 -0
  47. data/spec/dummy/db/data_migrations/20121130201859_upgrade_remove_system_mgmt_app.erp_app.rb +16 -0
  48. data/spec/dummy/db/data_migrations/20121130212146_note_capabilities.erp_tech_svcs.rb +24 -0
  49. data/spec/dummy/db/data_migrations/20121218175028_create_security_management_desktop_application.erp_app.rb +23 -0
  50. data/spec/dummy/db/migrate/20121219182151_base_erp_services.erp_base_erp_svcs.rb +461 -0
  51. data/spec/dummy/db/migrate/20121219182152_recreate_party_search_facts_table.erp_search.rb +40 -0
  52. data/spec/dummy/db/migrate/20121219182153_base_tech_services.erp_tech_svcs.rb +255 -0
  53. data/spec/dummy/db/migrate/20121219182154_create_has_attribute_tables.erp_tech_svcs.rb +39 -0
  54. data/spec/dummy/db/migrate/20121219182155_base_app_framework.erp_app.rb +276 -0
  55. data/spec/dummy/db/migrate/20121219182156_dynamic_forms.erp_forms.rb +95 -0
  56. data/spec/dummy/db/migrate/20121219182157_create_tickets.erp_forms.rb +19 -0
  57. data/spec/dummy/db/migrate/20121219182158_upgrade_dynamic_forms_table.erp_forms.rb +32 -0
  58. data/spec/dummy/db/migrate/20121219182159_setup_knitkit.knitkit.rb +316 -0
  59. data/spec/dummy/db/migrate/20130107181410_create_groups.erp_tech_svcs.rb +19 -0
  60. data/spec/dummy/db/migrate/20130107181411_upgrade_security.erp_tech_svcs.rb +54 -0
  61. data/spec/dummy/db/migrate/20130107181412_upgrade_security2.erp_tech_svcs.rb +270 -0
  62. data/spec/dummy/db/schema.rb +1172 -0
  63. data/spec/dummy/db/spec.sqlite3 +0 -0
  64. data/spec/dummy/log/development.log +3 -0
  65. data/spec/dummy/log/spec.log +26839 -0
  66. data/spec/dummy/log/sunspot-solr-spec.log +24338 -0
  67. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  68. data/spec/dummy/solr/conf/elevate.xml +36 -0
  69. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  70. data/spec/dummy/solr/conf/protwords.txt +21 -0
  71. data/spec/dummy/solr/conf/schema.xml +238 -0
  72. data/spec/dummy/solr/conf/scripts.conf +24 -0
  73. data/spec/dummy/solr/conf/solrconfig.xml +934 -0
  74. data/spec/dummy/solr/conf/spellings.txt +2 -0
  75. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  76. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  77. data/spec/dummy/solr/data/spec/index/segments.gen +0 -0
  78. data/spec/dummy/solr/data/spec/index/segments_av +0 -0
  79. data/spec/dummy/solr/data/spec/spellchecker/segments.gen +0 -0
  80. data/spec/dummy/solr/data/spec/spellchecker/segments_1 +0 -0
  81. data/spec/dummy/solr/pids/spec/sunspot-solr-spec.pid +1 -0
  82. data/spec/spec_helper.rb +19 -10
  83. metadata +171 -80
@@ -0,0 +1,73 @@
1
+ # This migration comes from knitkit (originally 20120127150505)
2
+ class CreateWebsiteDefaultConfiguration
3
+
4
+ def self.up
5
+ unless ::Configuration.find_template('default_website_configuration')
6
+ website_setup_category = Category.create(:description => 'Website Setup', :internal_identifier => 'website_setup')
7
+
8
+ #configuration
9
+ configuration = Configuration.create(
10
+ :description => 'Default Website Configuration',
11
+ :internal_identifier => 'default_website_configuration',
12
+ :is_template => true
13
+ )
14
+
15
+ login_url_config_item_type = ConfigurationItemType.create(
16
+ :description => 'Login Url',
17
+ :internal_identifier => 'login_url',
18
+ :allow_user_defined_options => true
19
+ )
20
+ CategoryClassification.create(:category => website_setup_category, :classification => login_url_config_item_type)
21
+ configuration.configuration_item_types << login_url_config_item_type
22
+
23
+ home_page_url_config_item_type = ConfigurationItemType.create(
24
+ :description => 'Homepage Url',
25
+ :internal_identifier => 'homepage_url',
26
+ :allow_user_defined_options => true
27
+ )
28
+ CategoryClassification.create(:category => website_setup_category, :classification => home_page_url_config_item_type)
29
+ configuration.configuration_item_types << home_page_url_config_item_type
30
+
31
+ contact_us_email_address_item_type = ConfigurationItemType.create(
32
+ :description => 'Contact Us Email',
33
+ :internal_identifier => 'contact_us_email_address',
34
+ :allow_user_defined_options => true
35
+ )
36
+ CategoryClassification.create(:category => website_setup_category, :classification => contact_us_email_address_item_type)
37
+ configuration.configuration_item_types << contact_us_email_address_item_type
38
+
39
+ #password strength
40
+ simple_password_option = ConfigurationOption.create(
41
+ :description => 'Simple password',
42
+ :comment => 'must be at least 8 characters long and start and end with a letter',
43
+ :internal_identifier => 'simple_password_regex',
44
+ :value => '^[A-Za-z]\w{6,}[A-Za-z]$'
45
+ )
46
+
47
+ complex_password_option = ConfigurationOption.create(
48
+ :description => 'Complex password',
49
+ :comment => 'must be at least 10 characters, must contain at least one lower case letter, one upper case letter, one digit and one special character, valid special characters are @#$%^&+=',
50
+ :internal_identifier => 'complex_password_regex',
51
+ :value => '^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$'
52
+ )
53
+
54
+ password_strength_config_item_type = ConfigurationItemType.create(
55
+ :description => 'Password Strength',
56
+ :internal_identifier => 'password_strength_regex'
57
+ )
58
+ CategoryClassification.create(:category => website_setup_category, :classification => password_strength_config_item_type)
59
+
60
+ password_strength_config_item_type.configuration_options << complex_password_option
61
+ password_strength_config_item_type.add_default_configuration_option(simple_password_option)
62
+ password_strength_config_item_type.save
63
+ configuration.configuration_item_types << password_strength_config_item_type
64
+
65
+ configuration.save
66
+ end
67
+ end
68
+
69
+ def self.down
70
+ #remove data here
71
+ end
72
+
73
+ end
@@ -0,0 +1,34 @@
1
+ # This migration comes from knitkit (originally 20120127150506)
2
+ class AddPrimaryHostToWebsiteConfiguration
3
+
4
+ def self.up
5
+ unless ConfigurationItemType.find_by_internal_identifier('primary_host')
6
+ website_setup_category = Category.find_by_internal_identifier('website_setup')
7
+ configuration = ::Configuration.find_template('default_website_configuration')
8
+
9
+ primary_host_config_item_type = ConfigurationItemType.create(
10
+ :description => 'Primary Host',
11
+ :internal_identifier => 'primary_host',
12
+ :allow_user_defined_options => true
13
+ )
14
+ CategoryClassification.create(:category => website_setup_category, :classification => primary_host_config_item_type)
15
+ configuration.configuration_item_types << primary_host_config_item_type
16
+ configuration.save
17
+
18
+ #update existing websites
19
+ Website.all.each do |website|
20
+ website_config = website.configurations.first
21
+ if(website_config.internal_identifier == 'default_website_configuration')
22
+ website_config.configuration_item_types << primary_host_config_item_type
23
+ website_config.add_configuration_item(primary_host_config_item_type, website.hosts.first.host)
24
+ website_config.save
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ def self.down
31
+ #remove data here
32
+ end
33
+
34
+ end
@@ -0,0 +1,29 @@
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
+ end
22
+ end
23
+
24
+ def self.down
25
+ #remove data here
26
+ Widget.find_by_internal_identifier('userinfo').destroy
27
+ end
28
+
29
+ end
@@ -0,0 +1,17 @@
1
+ # This migration comes from knitkit (originally 20120316150424)
2
+ class AddIsTemplateToDefaultWebsiteConfig
3
+
4
+ def self.up
5
+ default_website_config = Configuration.where('internal_identifier = ?', 'default_website_configuration').all
6
+ unless default_website_config.empty?
7
+ config = default_website_config.find{|config| config.websites.empty?}
8
+ config.is_template = true
9
+ config.save
10
+ end
11
+ end
12
+
13
+ def self.down
14
+ #remove data here
15
+ end
16
+
17
+ 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,78 @@
1
+ # This migration comes from knitkit (originally 20120809020508)
2
+ class UpdateWebsiteAndConfiguration < ActiveRecord::Migration
3
+ def self.up
4
+ content_work_flow_category = Category.create(:description => 'Content Workflow', :internal_identifier => 'content_workflow')
5
+
6
+ website_setup_category = Category.find_by_internal_identifier('website_setup')
7
+ configuration = ::Configuration.find_template('default_website_configuration')
8
+
9
+ yes_option = ConfigurationOption.find_by_internal_identifier('yes')
10
+ yes_option = ConfigurationOption.create(
11
+ :description => 'Yes',
12
+ :internal_identifier => 'yes',
13
+ :value => 'yes'
14
+ ) if yes_option.nil?
15
+
16
+ no_option = ConfigurationOption.find_by_internal_identifier('no')
17
+ no_option = ConfigurationOption.create(
18
+ :description => 'No',
19
+ :internal_identifier => 'no',
20
+ :value => 'no'
21
+ ) if no_option.nil?
22
+
23
+ #add email inquiries config
24
+ email_inquiries_config_item_type = ConfigurationItemType.create(
25
+ :description => 'Email inquiries',
26
+ :internal_identifier => 'email_inquiries'
27
+ )
28
+ email_inquiries_config_item_type.configuration_options << yes_option
29
+ email_inquiries_config_item_type.add_default_option(no_option)
30
+ CategoryClassification.create(:category => website_setup_category, :classification => email_inquiries_config_item_type)
31
+
32
+ configuration.configuration_item_types << email_inquiries_config_item_type
33
+
34
+ #add auto activate publications
35
+ auto_activate_config_item_type = ConfigurationItemType.create(
36
+ :description => 'Auto activate publications',
37
+ :internal_identifier => 'auto_active_publications'
38
+ )
39
+ auto_activate_config_item_type.configuration_options << no_option
40
+ auto_activate_config_item_type.add_default_option(yes_option)
41
+ CategoryClassification.create(:category => content_work_flow_category, :classification => auto_activate_config_item_type)
42
+
43
+ configuration.configuration_item_types << auto_activate_config_item_type
44
+
45
+ #add auto publish on save
46
+ publish_on_save_config_item_type = ConfigurationItemType.create(
47
+ :description => 'Publish on save',
48
+ :internal_identifier => 'publish_on_save'
49
+ )
50
+ publish_on_save_config_item_type.configuration_options << no_option
51
+ publish_on_save_config_item_type.add_default_option(yes_option)
52
+ CategoryClassification.create(:category => content_work_flow_category, :classification => publish_on_save_config_item_type)
53
+
54
+ configuration.configuration_item_types << publish_on_save_config_item_type
55
+
56
+ Website.all.each do |website|
57
+ website_config = website.configurations.first
58
+ #add types
59
+ website_config.configuration_item_types << email_inquiries_config_item_type
60
+ website_config.configuration_item_types << auto_activate_config_item_type
61
+ website_config.configuration_item_types << publish_on_save_config_item_type
62
+
63
+ website_config.add_configuration_item(email_inquiries_config_item_type, (website.email_inquiries ? :yes : :no))
64
+ website_config.add_configuration_item(auto_activate_config_item_type, (website.auto_activate_publication ? :yes : :no))
65
+ website_config.add_configuration_item(publish_on_save_config_item_type, (website.auto_activate_publication ? :no : :yes))
66
+
67
+ website_config.save
68
+ end
69
+
70
+ remove_column(:websites, :email) if columns(:websites).collect {|c| c.name}.include?('email')
71
+
72
+ remove_column(:websites, :auto_activate_publication) if columns(:websites).collect {|c| c.name}.include?('auto_activate_publication')
73
+ remove_column(:websites, :email_inquiries) if columns(:websites).collect {|c| c.name}.include?('email_inquiries')
74
+ end
75
+
76
+ def self.down
77
+ end
78
+ 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
@@ -0,0 +1,27 @@
1
+ # This migration comes from erp_forms (originally 20121026191738)
2
+ class UpdateContactForm
3
+
4
+ def self.up
5
+ model = DynamicFormModel.find_by_model_name('WebsiteInquiry')
6
+ model.create_role
7
+
8
+ fields = []
9
+
10
+ fields << DynamicFormField.textfield({:fieldLabel => 'First Name', :name => 'first_name', :width => 250, :allowBlank => false })
11
+ fields << DynamicFormField.textfield({:fieldLabel => 'Last Name', :name => 'last_name', :width => 250, :allowBlank => false })
12
+ fields << DynamicFormField.email({:fieldLabel => 'Email', :name => 'email', :width => 250, :allowBlank => false })
13
+ fields << DynamicFormField.textarea({:fieldLabel => 'Message', :name => 'message', :width => 400, :height => 200, :allowBlank => false })
14
+
15
+ d = DynamicForm.find_by_internal_identifier('contact_us')
16
+ unless d.nil?
17
+ d.definition = fields.to_json
18
+ d.msg_target = 'qtip'
19
+ d.save
20
+ end
21
+ end
22
+
23
+ def self.down
24
+ #remove data here
25
+ end
26
+
27
+ end