ZCRMSDK 3.0.0.beta → 3.0.0

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/src/ZCRMSDK.rb +3 -1
  3. data/src/com/zoho/api/authenticator/oauth_token.rb +1 -2
  4. data/src/com/zoho/api/authenticator/store/db_store.rb +27 -5
  5. data/src/com/zoho/api/authenticator/store/file_store.rb +26 -4
  6. data/src/com/zoho/crm/api/attachments/attachment.rb +38 -0
  7. data/src/com/zoho/crm/api/blue_print/field.rb +24 -4
  8. data/src/com/zoho/crm/api/fields/field.rb +23 -23
  9. data/src/com/zoho/crm/api/fields/multi_module_lookup.rb +99 -0
  10. data/src/com/zoho/crm/api/initializer.rb +4 -1
  11. data/src/com/zoho/crm/api/notes/note.rb +19 -0
  12. data/src/com/zoho/crm/api/org/hierarchy_preference.rb +61 -0
  13. data/src/com/zoho/crm/api/org/org.rb +38 -0
  14. data/src/com/zoho/crm/api/profiles/category.rb +19 -0
  15. data/src/com/zoho/crm/api/profiles/profile.rb +0 -19
  16. data/src/com/zoho/crm/api/record/field.rb +16 -17
  17. data/src/com/zoho/crm/api/record/line_tax.rb +19 -0
  18. data/src/com/zoho/crm/api/users/user.rb +34 -0
  19. data/src/com/zoho/crm/api/util/api_http_connector.rb +1 -1
  20. data/src/com/zoho/crm/api/util/common_api_handler.rb +5 -3
  21. data/src/com/zoho/crm/api/util/constants.rb +9 -11
  22. data/src/com/zoho/crm/api/util/converter.rb +11 -5
  23. data/src/com/zoho/crm/api/util/data_type_converter.rb +8 -2
  24. data/src/com/zoho/crm/api/util/form_data_converter.rb +1 -1
  25. data/src/com/zoho/crm/api/util/json_converter.rb +7 -9
  26. data/src/com/zoho/crm/api/util/module_fields_handler.rb +1 -1
  27. data/src/com/zoho/crm/api/util/utility.rb +81 -50
  28. data/src/com/zoho/crm/api/wizards/button.rb +38 -0
  29. data/src/com/zoho/crm/api/wizards/transition.rb +80 -0
  30. data/src/resources/JSONDetails.json +1 -1
  31. data/src/version.rb +1 -1
  32. metadata +9 -7
  33. data/src/com/zoho/crm/api/record/inventory_line_items.rb +0 -252
@@ -57,13 +57,13 @@ module Util
57
57
 
58
58
  unless value.nil?
59
59
  if key_details.key? Constants::INTERFACE and key_details[Constants::INTERFACE] == true
60
- json_details = Initializer.get_initializer.json_details
60
+ json_details = Initializer.json_details
61
61
  interface_details = json_details[key_details[Constants::STRUCTURE_NAME]]
62
62
  classes = interface_details[Constants::CLASSES]
63
63
  check = false
64
64
  classes.each do |each_class_name|
65
65
  class_name_lower = each_class_name.to_s.downcase
66
- value_class_name = til::Utility.path_to_package(value.class.name).downcase
66
+ value_class_name = Util::Utility.path_to_package(value.class.name).downcase
67
67
 
68
68
  if class_name_lower.downcase == value_class_name
69
69
  check = true
@@ -96,9 +96,15 @@ module Util
96
96
  elsif !value.nil?
97
97
  check = Util::Utility.check_data_type(value,type)
98
98
  end
99
- elsif (type.downcase != Constants::OBJECT.downcase)
100
- if type.downcase != Util::Utility.path_to_package(var_type).downcase
101
- check = false
99
+ elsif (type.downcase == Constants::OBJECT.downcase || (!var_type.nil? && var_type.downcase == Constants::OBJECT.downcase))
100
+ if type.downcase == Constants::OBJECT.downcase
101
+ check = true
102
+ else
103
+ class_name1 = value.class.name
104
+ if type.downcase != Util::Utility.path_to_package(class_name1).downcase
105
+ check = false
106
+ end
107
+ var_type = class_name1
102
108
  end
103
109
  end
104
110
  if !check
@@ -108,7 +108,10 @@ module Util
108
108
  # @raise Exception
109
109
  def self.pre_convert(obj, type)
110
110
  init
111
- @@pre_converter_map[type].call(obj)
111
+ if @@pre_converter_map.key? type
112
+ return @@pre_converter_map[type].call(obj)
113
+ end
114
+ obj
112
115
  end
113
116
 
114
117
  # This method is to convert Java data to JSON data value.
@@ -118,7 +121,10 @@ module Util
118
121
  # @raise Exception
119
122
  def self.post_convert(obj, type)
120
123
  init
121
- @@post_converter_map[type].call(obj)
124
+ if @@post_converter_map.key? type
125
+ return @@post_converter_map[type].call(obj)
126
+ end
127
+ obj
122
128
  end
123
129
 
124
130
  def self.pre_convert_object_data(obj)
@@ -61,7 +61,7 @@ module Util
61
61
 
62
62
  member_data = request_instance.instance_variable_get(Constants::AT + member_name)
63
63
 
64
- if !modified.nil? && (modified != 0) && value_checker(request_instance.class.name, member_name, member_details, member_data, @unique_hash, instance_no)
64
+ if !modified.nil? && (modified != 0) && !member_data.nil? && value_checker(request_instance.class.name, member_name, member_details, member_data, @unique_hash, instance_no)
65
65
  key_name = member_details[Constants::NAME]
66
66
  type = member_details[Constants::TYPE]
67
67
  if type.downcase == Constants::LIST_NAMESPACE.downcase
@@ -106,13 +106,11 @@ module Util
106
106
 
107
107
  if request_instance.is_a? Record::FileDetails
108
108
  lower_case_key_name = key_name.downcase
109
-
110
-
111
- request_json[lower_case_key_name] = if field_value.nil?
112
- nil
113
- else
114
- field_value
115
- end
109
+ if field_value.nil? || (field_value.is_a? (String) && field_value.downcase == "null")
110
+ request_json[lower_case_key_name] = nil
111
+ else
112
+ request_json[lower_case_key_name] = field_value
113
+ end
116
114
  else
117
115
  request_json[key_name] = set_data(member_detail, field_value)
118
116
  end
@@ -706,9 +704,9 @@ module Util
706
704
  member_value
707
705
  end
708
706
 
709
- def build_name(member_name)
707
+ def build_name(key_name)
710
708
  sdk_name = ''
711
- name_split = member_name.to_s.split('_')
709
+ name_split = key_name.to_s.split('_')
712
710
  sdk_name = name_split[0].to_s.downcase
713
711
  index = 1
714
712
 
@@ -51,7 +51,7 @@ module Util
51
51
  def self.refresh_fields(module_api_name)
52
52
  @@sync_lock.synchronize do
53
53
  delete_fields(module_api_name)
54
- Utility.get_fields(module_api_name)
54
+ Utility.get_fields_info(module_api_name)
55
55
  end
56
56
  rescue SDKException => e
57
57
  SDKLog::SDKLogger.severe(Constants::REFRESH_SINGLE_MODULE_FIELDS_ERROR + module_api_name, e)
@@ -26,6 +26,10 @@ module Util
26
26
 
27
27
  @@get_modified_modules = false
28
28
 
29
+ @@api_supported_module = {}
30
+
31
+ @@module_api_name = nil
32
+
29
33
  @@force_refresh = false
30
34
  def self.set_handler_api_path(module_api_name, handler_instance)
31
35
  if handler_instance.nil?
@@ -75,7 +79,7 @@ module Util
75
79
  record_field_details_json = JSON.parse(File.read(record_field_details_path))
76
80
  return if module_api_name.nil? || record_field_details_json.key?(module_api_name.downcase)
77
81
 
78
- fill_data_type
82
+ fill_data_type()
79
83
 
80
84
  record_field_details_json[module_api_name.downcase] = {}
81
85
 
@@ -94,6 +98,13 @@ module Util
94
98
  end
95
99
 
96
100
  def self.get_fields(module_api_name, handler_instance=nil)
101
+ @@sync_lock.synchronize do
102
+ @@module_api_name = module_api_name
103
+ get_fields_info(module_api_name,handler_instance)
104
+ end
105
+ end
106
+
107
+ def self.get_fields_info(module_api_name, handler_instance=nil)
97
108
  require_relative '../initializer'
98
109
  initializer = Initializer.get_initializer
99
110
  record_field_details_path = nil
@@ -106,7 +117,7 @@ module Util
106
117
  resoures_folder_path = initializer.resources_path + '/' + Constants::RESOURCES
107
118
 
108
119
  Dir.mkdir resoures_folder_path unless File.exist? resoures_folder_path
109
- record_field_details_path = get_record_json_file_path
120
+ record_field_details_path = get_record_json_file_path()
110
121
  module_api_name = verify_module_api_name(module_api_name)
111
122
  set_handler_api_path(module_api_name,handler_instance)
112
123
 
@@ -114,18 +125,19 @@ module Util
114
125
  file_exists_flow(module_api_name,record_field_details_path,last_modified_time)
115
126
  elsif initializer.sdk_config.auto_refresh_fields
116
127
  @@new_file = true
117
- fill_data_type
118
- api_supported_modules = get_modules(nil)
128
+ fill_data_type()
129
+ @@api_supported_module = @@api_supported_module.length == 0 ? get_modules(nil) : @@api_supported_module
130
+
119
131
  record_field_details_json = File.exist? record_field_details_path ? JSON.parse(File.read(record_field_details_path)) : {}
120
132
 
121
133
  record_field_details_json = { Constants::FIELDS_LAST_MODIFIED_TIME => get_current_time_in_millis }
122
- api_supported_modules.each_key do |module_name|
134
+ @@api_supported_module.each_key do |module_name|
123
135
  unless record_field_details_json.key? module_name.downcase
124
136
  record_field_details_json[module_name.downcase] = {}
125
137
  File.open(record_field_details_path, 'w') do |f|
126
138
  f.write(record_field_details_json.to_json)
127
139
  end
128
- field_details = get_fields_details(api_supported_modules[module_name][Constants::API_NAME])
140
+ field_details = get_fields_details( @@api_supported_module[module_name][Constants::API_NAME])
129
141
  record_field_details_json = JSON.parse(File.read(record_field_details_path))
130
142
  record_field_details_json[module_name.downcase] = field_details
131
143
  File.open(record_field_details_path, 'w') do |f|
@@ -143,7 +155,7 @@ module Util
143
155
  modify_fields(record_field_details_path, last_modified_time)
144
156
  @@get_modified_modules = false
145
157
  else
146
- fill_data_type
158
+ fill_data_type()
147
159
 
148
160
  record_field_details_json = { module_api_name.downcase => {} }
149
161
 
@@ -195,9 +207,9 @@ module Util
195
207
  end
196
208
 
197
209
  def self.modify_fields(record_field_details_path, modified_time)
198
- modified_modules = get_modules_api_names(modified_time)
210
+ modified_modules = get_modules(modified_time)
199
211
  record_field_details_json = JSON.parse(File.open(record_field_details_path).read)
200
- record_field_details_json[Constants::FIELDS_LAST_MODIFIED_TIME] = get_current_time_in_millis
212
+ record_field_details_json[Constants::FIELDS_LAST_MODIFIED_TIME] = get_current_time_in_millis()
201
213
  File.open(record_field_details_path, 'w') do |f|
202
214
  f.write(record_field_details_json.to_json)
203
215
  end
@@ -214,7 +226,7 @@ module Util
214
226
  end
215
227
  modified_modules.each_key do |module_api_name|
216
228
  module_data = modified_modules[module_api_name]
217
- get_fields(module_data[Constants::API_NAME])
229
+ get_fields_info(module_data[Constants::API_NAME])
218
230
  end
219
231
  end
220
232
 
@@ -226,7 +238,7 @@ module Util
226
238
  end
227
239
  end
228
240
 
229
- record_field_details_path = get_record_json_file_path
241
+ record_field_details_path = get_record_json_file_path()
230
242
 
231
243
  if File.exist? record_field_details_path
232
244
  fields_json = JSON.parse(File.open(record_field_details_path).read)
@@ -256,8 +268,8 @@ module Util
256
268
  end
257
269
  end
258
270
 
259
- def self.get_record_json_file_path
260
- Converter.new(nil).get_record_json_file_path
271
+ def self.get_record_json_file_path()
272
+ Converter.new(nil).get_record_json_file_path()
261
273
  end
262
274
 
263
275
  def self.get_related_lists(related_module_name, module_api_name, common_api_handler)
@@ -273,7 +285,7 @@ module Util
273
285
  resoures_folder_path = initializer.resources_path + '/' + Constants::RESOURCES
274
286
  Dir.mkdir resoures_folder_path unless File.exist? resoures_folder_path
275
287
 
276
- record_field_details_path = get_record_json_file_path
288
+ record_field_details_path = get_record_json_file_path()
277
289
  if !File.exist?(record_field_details_path) || (File.exist?(record_field_details_path) && !(JSON.parse(File.read(record_field_details_path)).key? key))
278
290
  is_new_data = true
279
291
  related_list_values = get_related_list_details(module_api_name)
@@ -412,8 +424,9 @@ module Util
412
424
  field_api_names_recurring_activity = %w[RRULE]
413
425
  field_api_names_reminder = %w[multireminder]
414
426
  field_api_names_consent_look_up = %w[consent_lookup]
415
- field_api_name_image_upload = %w["imageupload"]
416
- field_api_name_multiselect_lookup = %w["multiselectlookup"]
427
+ field_api_name_image_upload = %w[imageupload]
428
+ field_api_name_multiselect_lookup = %w[multiselectlookup]
429
+ field_api_name_line_tax = %w[linetax]
417
430
 
418
431
  field_api_names_string.each do |field_api_name|
419
432
  @@apitype_vs_datatype[field_api_name] = Constants::STRING
@@ -511,12 +524,21 @@ module Util
511
524
 
512
525
  field_api_name_image_upload.each do |field_api_name|
513
526
  @@apitype_vs_datatype[field_api_name] = Constants::LIST_NAMESPACE
527
+
514
528
  @@apitype_vs_structurename[field_api_name] = Constants::IMAGEUPLOAD_NAMESPACE
515
529
  end
530
+
516
531
  field_api_name_multiselect_lookup.each do |field_api_name|
517
532
  @@apitype_vs_datatype[field_api_name] = Constants::LIST_NAMESPACE
533
+
518
534
  @@apitype_vs_structurename[field_api_name] = Constants::RECORD_NAMESPACE
519
535
  end
536
+
537
+ field_api_name_line_tax.each do |field_api_name|
538
+ @@apitype_vs_datatype[field_api_name] = Constants::LIST_NAMESPACE
539
+
540
+ @@apitype_vs_structurename[field_api_name] = Constants::LINE_TAX_NAMESPACE
541
+ end
520
542
  end
521
543
 
522
544
  def self.set_data_type(field_detail, field_instance, module_api_name)
@@ -531,13 +553,7 @@ module Util
531
553
  field_detail[Constants::REQUIRED] = true
532
554
  end
533
555
 
534
- if Constants::KEY_VS_INVENTORY_MODULE.key?(key_name) && (module_api_name.downcase == Constants::KEY_VS_INVENTORY_MODULE[key_name].downcase)
535
- field_detail[Constants::NAME] = key_name
536
- field_detail[Constants::TYPE] = Constants::LIST_NAMESPACE
537
- field_detail[Constants::STRUCTURE_NAME] = Constants::INVENTORY_LINE_ITEMS
538
- field_detail[Constants::SKIP_MANDATORY] = true
539
- return
540
- elsif (key_name.downcase == Constants::PRICING_DETAILS.downcase) && (module_api_name == Constants::PRICE_BOOKS.downcase)
556
+ if (key_name.downcase == Constants::PRICING_DETAILS.downcase) && (module_api_name == Constants::PRICE_BOOKS.downcase)
541
557
  field_detail[Constants::NAME] = key_name
542
558
  field_detail[Constants::TYPE] = Constants::LIST_NAMESPACE
543
559
  field_detail[Constants::STRUCTURE_NAME] = Constants::PRICINGDETAILS
@@ -567,6 +583,16 @@ module Util
567
583
  field_detail[Constants::STRUCTURE_NAME] = Constants::TERRITORY_NAMESPACE
568
584
  field_detail[Constants::LOOKUP] = true
569
585
  return
586
+ elsif key_name.downcase() == Constants::PRODUCT_NAME.downcase and Constants::INVENTORY_MODULES_ITEMS.include? module_api_name.downcase
587
+ field_detail[Constants::NAME] = key_name
588
+ field_detail[Constants::TYPE] = Constants::LINEITEM_PRODUCT
589
+ field_detail[Constants::STRUCTURE_NAME] = Constants::LINEITEM_PRODUCT
590
+ field_detail[Constants::LOOKUP] = true
591
+ return
592
+ elsif key_name.downcase() == Constants::DISCOUNT.downcase and Constants::INVENTORY_MODULES_ITEMS.include? module_api_name.downcase
593
+ field_detail[Constants::NAME] = key_name
594
+ field_detail[Constants::TYPE] = Constants::STRING
595
+ return
570
596
  elsif key_name.downcase() == Constants::TAX.downcase and module_api_name.downcase() == Constants::PRODUCTS.downcase
571
597
  field_detail[Constants::NAME] = key_name
572
598
  field_detail[Constants::TYPE] = Constants::LIST_NAMESPACE
@@ -588,12 +614,11 @@ module Util
588
614
  field_detail[Constants::LOOKUP] = true if data_type.downcase.include? Constants::LOOKUP
589
615
  field_detail[Constants::SKIP_MANDATORY] = true if data_type.downcase.include? Constants::CONSENT_LOOKUP
590
616
 
591
-
592
617
  if data_type.downcase.include? Constants::MULTI_SELECT_LOOKUP
593
618
  field_detail[Constants::SKIP_MANDATORY] = true
594
- if !field.multiselectlookup.nil?
595
- if !field.multiselectlookup.linking_module.nil?
596
- linking_module = field.multiselectlookup.linking_module
619
+ if !field_instance.multiselectlookup.nil?
620
+ if !field_instance.multiselectlookup.linking_module.nil?
621
+ linking_module = field_instance.multiselectlookup.linking_module
597
622
  field_detail[Constants::MODULE] = linking_module
598
623
  module_name = linking_module
599
624
  end
@@ -603,9 +628,9 @@ module Util
603
628
 
604
629
  if data_type.downcase.include? Constants::MULTI_USER_LOOKUP
605
630
  field_detail[Constants::SKIP_MANDATORY] = true
606
- if !field.multiuserlookup.nil?
607
- if !field.multiuserlookup.linking_module.nil?
608
- linking_module = field.multiuserlookup.linking_module
631
+ if !field_instance.multiuserlookup.nil?
632
+ if !field_instance.multiuserlookup.linking_module.nil?
633
+ linking_module = field_instance.multiuserlookup.linking_module
609
634
  field_detail[Constants::MODULE] = linking_module
610
635
  module_name = linking_module
611
636
  end
@@ -634,7 +659,7 @@ module Util
634
659
  field_detail[Constants::MODULE] = module_name
635
660
  end
636
661
 
637
- if data_type.downcase == Constants::LOOKUP.downcase
662
+ if data_type.downcase == Constants::LOOKUP.downcase && !field_instance.lookup.nil?
638
663
  module_name = field_instance.lookup.module
639
664
  if !module_name.nil? && (module_name.downcase != Constants::SE_MODULE.downcase)
640
665
  field_detail[Constants::MODULE] = module_name
@@ -646,7 +671,7 @@ module Util
646
671
  end
647
672
  field_detail[Constants::LOOKUP] = true
648
673
  end
649
- get_fields(module_name) if !module_name.nil? && !module_name.empty?
674
+ get_fields_info(module_name) if !module_name.nil? && !module_name.empty?
650
675
  field_detail[Constants::NAME] = key_name
651
676
  end
652
677
 
@@ -671,9 +696,9 @@ module Util
671
696
  modules.each do |module_ins|
672
697
  if module_ins.api_supported
673
698
  module_details = {}
674
- module_details[Constants::API_NAME] = module_ins.api_name
675
- module_details[Constants::GENERATED_TYPE] = module_ins.generated_type.value
676
- api_names[module_ins.api_name.downcase] = module_details
699
+ module_details[Constants::API_NAME]=module_ins.api_name
700
+ module_details[Constants::GENERATED_TYPE]=module_ins.generated_type.value
701
+ api_names[module_ins.api_name.downcase] =module_details
677
702
  end
678
703
  end
679
704
  elsif response_object.is_a? Modules::APIException
@@ -685,11 +710,13 @@ module Util
685
710
  end
686
711
  end
687
712
  end
688
- if @@force_refresh
713
+ if header.nil?
689
714
  begin
690
- write_module_meta_data(get_record_json_file_path, api_names)
691
- rescue StandardError => e
692
- raise SDKException.new(Constants::EXCEPTION,e)
715
+ initializer = Initializer.get_initializer
716
+ resoures_folder_path = initializer.resources_path + '/' + Constants::RESOURCES
717
+ Dir.mkdir resoures_folder_path unless File.exist? resoures_folder_path
718
+ record_field_details_path = get_record_json_file_path()
719
+ write_module_meta_data(record_field_details_path, api_names)
693
720
  end
694
721
  end
695
722
  api_names
@@ -705,7 +732,7 @@ module Util
705
732
 
706
733
  if related_list_jo[Constants::MODULE] != Constants::NULL_VALUE
707
734
  common_api_handler.module_api_name = related_list_jo[Constants::MODULE]
708
- get_fields(related_list_jo[Constants::MODULE])
735
+ get_fields_info(related_list_jo[Constants::MODULE])
709
736
  end
710
737
  return true
711
738
  end
@@ -717,14 +744,15 @@ module Util
717
744
  @@sync_lock.synchronize do
718
745
  begin
719
746
  module_api_name = verify_module_api_name(module_api_name)
720
- if Constants::PHOTO_SUPPORTED_MODULES.key? module_api_name
747
+ if Constants::PHOTO_SUPPORTED_MODULES.include? module_api_name.downcase
721
748
  return true
722
749
  end
723
750
  modules = get_module_names()
751
+
724
752
  if modules.key? module_api_name.downcase || !modules[module_api_name.downcase].nil?
725
753
  module_meta_data = modules[module_api_name.downcase]
726
754
 
727
- if module_meta_data[Constants::GENERATED_TYPE] != Constants::GENERATED_TYPE_CUSTOM
755
+ if module_meta_data.key? Constants::GENERATED_TYPE && module_meta_data[Constants::GENERATED_TYPE] != Constants::GENERATED_TYPE_CUSTOM
728
756
  raise SDKException.new(Constants::UPLOAD_PHOTO_UNSUPPORTED_ERROR,Constants::UPLOAD_PHOTO_UNSUPPORTED_MESSAGE + module_api_name)
729
757
  end
730
758
  end
@@ -741,21 +769,24 @@ module Util
741
769
 
742
770
  def self.get_module_names()
743
771
  module_data = {}
772
+ initializer = Initializer.get_initializer
744
773
  resoures_folder_path = initializer.resources_path + '/' + Constants::RESOURCES
745
774
  Dir.mkdir resoures_folder_path unless File.exist? resoures_folder_path
746
775
 
747
- record_field_details_path = get_record_json_file_path
776
+ record_field_details_path = get_record_json_file_path()
748
777
 
749
- is_null = false
778
+ call_get_modules = false
750
779
  if File.exists? record_field_details_path
751
780
  json = JSON.parse(File.read(record_field_details_path))
752
781
  if !json.key? Constants::SDK_MODULE_METADATA
753
- is_null = true
754
- elsif json[Constants::SDK_MODULE_METADATA].nil?
755
- is_null = true
782
+ call_get_modules = true
783
+ elsif json[Constants::SDK_MODULE_METADATA].nil? || json[Constants::SDK_MODULE_METADATA].length == 0
784
+ call_get_modules = true
756
785
  end
786
+ else
787
+ call_get_modules = true
757
788
  end
758
- if !File.exists? os.path.exists(record_field_details_path) || is_null
789
+ if call_get_modules
759
790
  module_data = get_modules(nil)
760
791
  write_module_meta_data(record_field_details_path, module_data)
761
792
  return module_data
@@ -766,7 +797,7 @@ module Util
766
797
  end
767
798
 
768
799
  def self.write_module_meta_data(record_field_details_path, module_data)
769
- field_details_json = File.exist? record_field_details_path ? JSON.parse(File.read(record_field_details_path)):{}
800
+ field_details_json = (File.exist? record_field_details_path) ? JSON.parse(File.read(record_field_details_path)):{}
770
801
  field_details_json[Constants::SDK_MODULE_METADATA] = module_data
771
802
  File.open(record_field_details_path, 'w') do |f|
772
803
  f.write(field_details_json.to_json)
@@ -816,7 +847,7 @@ module Util
816
847
 
817
848
  def self.refresh_modules
818
849
  @@force_refresh = true
819
- get_fields(nil)
850
+ get_fields_info(nil)
820
851
  @@force_refresh = false
821
852
  end
822
853
 
@@ -16,6 +16,8 @@ module Wizards
16
16
  @color = nil
17
17
  @shape = nil
18
18
  @background_color = nil
19
+ @visibility = nil
20
+ @transition = nil
19
21
  @key_modified = Hash.new
20
22
  end
21
23
 
@@ -181,6 +183,42 @@ module Wizards
181
183
  @key_modified['background_color'] = 1
182
184
  end
183
185
 
186
+ # The method to get the visibility
187
+ # @return A String value
188
+
189
+ def visibility
190
+ @visibility
191
+ end
192
+
193
+ # The method to set the value to visibility
194
+ # @param visibility [String] A String
195
+
196
+ def visibility=(visibility)
197
+ if visibility!=nil and !visibility.is_a? String
198
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: visibility EXPECTED TYPE: String', nil, nil)
199
+ end
200
+ @visibility = visibility
201
+ @key_modified['visibility'] = 1
202
+ end
203
+
204
+ # The method to get the transition
205
+ # @return An instance of Transition
206
+
207
+ def transition
208
+ @transition
209
+ end
210
+
211
+ # The method to set the value to transition
212
+ # @param transition [Transition] An instance of Transition
213
+
214
+ def transition=(transition)
215
+ if transition!=nil and !transition.is_a? Transition
216
+ raise SDKException.new(Constants::DATA_TYPE_ERROR, 'KEY: transition EXPECTED TYPE: Transition', nil, nil)
217
+ end
218
+ @transition = transition
219
+ @key_modified['transition'] = 1
220
+ end
221
+
184
222
  # The method to check if the user has modified the given key
185
223
  # @param key [String] A String
186
224
  # @return A Integer value