diff --git a/app/models/serializers/content_serializer.rb b/app/models/serializers/content_serializer.rb
index 5f5c9926..23bac722 100644
--- a/app/models/serializers/content_serializer.rb
+++ b/app/models/serializers/content_serializer.rb
@@ -90,6 +90,20 @@ class ContentSerializer
}
}
}
+
+ # Do a little number crunching
+ self.data[:categories].each do |category|
+ completed_fields = category[:fields].select { |field| field[:value].present? }.count.to_f
+ total_fields = category[:fields].count
+
+ if total_fields.zero?
+ category[:percent_complete] = nil
+ else
+ category[:percent_complete] = (completed_fields / total_fields * 100).round
+ end
+ end
+
+ self.data
end
def value_for(attribute_field, content)
diff --git a/app/views/content/display/_sidelinks.html.erb b/app/views/content/display/_sidelinks.html.erb
index c663518a..90e588dd 100644
--- a/app/views/content/display/_sidelinks.html.erb
+++ b/app/views/content/display/_sidelinks.html.erb
@@ -9,7 +9,7 @@
<% if creating || editing %>
diff --git a/app/views/content/display/sidebar/_categories.html.erb b/app/views/content/display/sidebar/_categories.html.erb
index 6574d6e4..cf0dcf90 100644
--- a/app/views/content/display/sidebar/_categories.html.erb
+++ b/app/views/content/display/sidebar/_categories.html.erb
@@ -45,8 +45,14 @@
_panel" class="<%= 'red-text' if category[:label] == 'Overview' %>">
<%= category[:icon] %>
<%= category[:label].capitalize.presence || '(blank)' %>
- <% if editing %>
- <%= rand(100) %>%
+ <% if editing && category[:percent_complete].present? %>
+
+ <% if category[:percent_complete] == 100 %>
+ check
+ <% else %>
+ <%= category[:percent_complete] %>%
+ <% end %>
+
<% end %>