diff app/views/custom_fields/index.api.rsb @ 1464:261b3d9a4903 redmine-2.4

Update to Redmine 2.4 branch rev 12663
author Chris Cannam
date Tue, 14 Jan 2014 14:37:42 +0000
parents
children dffacf8a6908
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/custom_fields/index.api.rsb	Tue Jan 14 14:37:42 2014 +0000
@@ -0,0 +1,42 @@
+api.array :custom_fields do
+  @custom_fields.each do |field|
+    api.custom_field do
+      api.id                field.id
+      api.name              field.name
+      api.customized_type   field.class.customized_class.name.underscore if field.class.customized_class
+      api.field_format      field.field_format
+      api.regexp            field.regexp
+      api.min_length        (field.min_length == 0 ? nil : field.min_length)
+      api.max_length        (field.max_length == 0 ? nil : field.max_length)
+      api.is_required       field.is_required?
+      api.is_filter         field.is_filter?
+      api.searchable        field.searchable
+      api.multiple          field.multiple?
+      api.default_value     field.default_value
+      api.visible           field.visible?
+
+      if field.field_format == 'list'
+        api.array :possible_values do
+          field.possible_values.each do |v|
+            api.possible_value do
+              api.value v
+            end
+          end
+        end
+      end
+
+      if field.is_a?(IssueCustomField)
+        api.trackers do
+          field.trackers.each do |tracker|
+            api.tracker :id => tracker.id, :name => tracker.name
+          end
+        end
+        api.roles do
+          field.roles.each do |role|
+            api.role :id => role.id, :name => role.name
+          end
+        end
+      end
+    end
+  end
+end