internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: OCHA-DAP/hdx-ckan

Issue:
Search Page: keep filter drawer open if opened by the user



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_search/ckanext/hdx_search/plugin.py b/ckanext-hdx_search/ckanext/hdx_search/plugin.py
--- a/ckanext-hdx_search/ckanext/hdx_search/plugin.py
+++ b/ckanext-hdx_search/ckanext/hdx_search/plugin.py
@@ -31,7 +31,7 @@ def after_map(self, map):
         return map
 
     def before_search(self, search_params):
-        if 'vocab_Topics' not in search_params['facet.field']:
+        if 'facet.field' in search_params and 'vocab_Topics' not in search_params['facet.field']:
             search_params['facet.field'].append('vocab_Topics')
 
         # If indicator flag is set, search only that type
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
@@ -279,6 +279,17 @@ def hdx_follow_link(obj_type, obj_id, extra_text):
                        extra_text=extra_text)
     return ''
 
+def follow_status(obj_type, obj_id):
+    obj_type = obj_type.lower()
+    assert obj_type in h._follow_objects
+    # If the user is logged in show the follow/unfollow button
+    if c.user:
+        context = {'model': model, 'session': model.Session, 'user': c.user}
+        action = 'am_following_%s' % obj_type
+        following = logic.get_action(action)(context, {'id': obj_id})
+        return following
+    return False
+
 def one_active_item(items):
     for i in items:
         if i['active']:
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
@@ -96,7 +96,8 @@ def get_helpers(self):
             'get_group_name_from_list': hdx_helpers.get_group_name_from_list,
             'one_active_item': hdx_helpers.one_active_item,
             'get_last_revision_timestamp_group': hdx_helpers.get_last_revision_timestamp_group,
-            'feature_count': hdx_helpers.feature_count
+            'feature_count': hdx_helpers.feature_count,
+            'follow_status': hdx_helpers.follow_status
         }
         
     def get_actions(self):


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Search Page: keep filter drawer open if opened by the user



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_search/ckanext/hdx_search/plugin.py b/ckanext-hdx_search/ckanext/hdx_search/plugin.py
--- a/ckanext-hdx_search/ckanext/hdx_search/plugin.py
+++ b/ckanext-hdx_search/ckanext/hdx_search/plugin.py
@@ -31,8 +31,7 @@ def after_map(self, map):
         return map
 
     def before_search(self, search_params):
-        if 'facet.field' in search_params and \
-            'vocab_Topics' not in search_params['facet.field']:
+        if 'facet.field' in search_params and 'vocab_Topics' not in search_params['facet.field']:
             search_params['facet.field'].append('vocab_Topics')
 
         # If indicator flag is set, search only that type
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
@@ -279,6 +279,17 @@ def hdx_follow_link(obj_type, obj_id, extra_text):
                        extra_text=extra_text)
     return ''
 
+def follow_status(obj_type, obj_id):
+    obj_type = obj_type.lower()
+    assert obj_type in h._follow_objects
+    # If the user is logged in show the follow/unfollow button
+    if c.user:
+        context = {'model': model, 'session': model.Session, 'user': c.user}
+        action = 'am_following_%s' % obj_type
+        following = logic.get_action(action)(context, {'id': obj_id})
+        return following
+    return False
+
 def one_active_item(items):
     for i in items:
         if i['active']:
@@ -324,4 +335,4 @@ def hdx_follow_button(obj_type, obj_id, **kw):
                        obj_id=obj_id,
                        obj_type=obj_type,
                        params = kw)
-    return ''
\ No newline at end of file
+    return ''
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
@@ -97,7 +97,8 @@ def get_helpers(self):
             'one_active_item': hdx_helpers.one_active_item,
             'hdx_follow_button': hdx_helpers.hdx_follow_button,
             'get_last_revision_timestamp_group': hdx_helpers.get_last_revision_timestamp_group,
-            'feature_count': hdx_helpers.feature_count
+            'feature_count': hdx_helpers.feature_count,
+            'follow_status': hdx_helpers.follow_status
         }
         
     def get_actions(self):


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Dataset/Indicator: License shows the ID and not the display name
Compare the names being shown for the license types below with those that the user chooses when creating a dataset.

![image](https://cloud.githubusercontent.com/assets/1654485/4559997/75bc0624-4ef1-11e4-8d5e-1056b1fe9f0b.png)



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
@@ -128,7 +128,7 @@ def markdown_extract_strip(text, extract_length=190):
     is the texted without any html tags.  If extract_length is 0 then it
     will not be truncated.'''
     result_text = h.markdown_extract(text, extract_length)
-    result = result_text.rstrip('\n').replace('\n', ' ').replace('\r', '')
+    result = result_text.rstrip('\n').replace('\n', ' ').replace('\r', '').replace('"',"&quot;")
     return result
 
 def render_date_from_concat_str(str, separator='-'):


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Organisation search results sorted by org name (which is not visible to the user) rather than by org title which the user can see.
The organisation list sorts organisations using the name field rather than the title field. This can lead to apparently incorrect sorting (as far as the user is concerned) Where organisation names have been edited. An example is the OCHA HQ organisation [as shown in these search results](https://data.hdx.rwlabs.org/organization?q=OCHA&sort=). The OCHA HQ organisation appears last in the list.



Discussion:

Resolving patch:
diff --git a/ckan/logic/action/get.py b/ckan/logic/action/get.py
--- a/ckan/logic/action/get.py
+++ b/ckan/logic/action/get.py
@@ -347,7 +347,7 @@ def _group_or_org_list(context, data_dict, is_org=False):
         sort = 'packages desc'
 
     sort_info = _unpick_search(sort,
-                               allowed_fields=['name', 'packages'],
+                               allowed_fields=['name', 'packages', 'title'],
                                total=1)
 
     all_fields = data_dict.get('all_fields', None)
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
@@ -339,6 +339,12 @@ def feature_count(features):
             count += f['count']
     return count
 
+def shorten(url):
+    import requests
+    r = requests.post("https://www.googleapis.com/urlshortener/v1/url", data=json.dumps({'longUrl':url}), headers={'content-type':'application/json'})
+    item = r.json()
+
+    return item['id']
 
 def hdx_follow_button(obj_type, obj_id, **kw):
     ''' This is a modified version of the ckan core follow_button() helper
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
@@ -98,7 +98,8 @@ def get_helpers(self):
             'hdx_follow_button': hdx_helpers.hdx_follow_button,
             'get_last_revision_timestamp_group': hdx_helpers.get_last_revision_timestamp_group,
             'feature_count': hdx_helpers.feature_count,
-            'follow_status': hdx_helpers.follow_status
+            'follow_status': hdx_helpers.follow_status,
+            'shorten': hdx_helpers.shorten
         }
         
     def get_actions(self):


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Organisation search results sorted by org name (which is not visible to the user) rather than by org title which the user can see.
The organisation list sorts organisations using the name field rather than the title field. This can lead to apparently incorrect sorting (as far as the user is concerned) Where organisation names have been edited. An example is the OCHA HQ organisation [as shown in these search results](https://data.hdx.rwlabs.org/organization?q=OCHA&sort=). The OCHA HQ organisation appears last in the list.



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/helpers/helpers.py
@@ -345,6 +345,12 @@ def feature_count(features):
             count += f['count']
     return count
 
+def shorten(url):
+    import requests
+    r = requests.post("https://www.googleapis.com/urlshortener/v1/url", data=json.dumps({'longUrl':url}), headers={'content-type':'application/json'})
+    item = r.json()
+
+    return item['id']
 
 def hdx_follow_button(obj_type, obj_id, **kw):
     ''' This is a modified version of the ckan core follow_button() helper
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py
@@ -102,7 +102,8 @@ def get_helpers(self):
             'hdx_follow_button': hdx_helpers.hdx_follow_button,
             'get_last_revision_timestamp_group': hdx_helpers.get_last_revision_timestamp_group,
             'feature_count': hdx_helpers.feature_count,
-            'follow_status': hdx_helpers.follow_status
+            'follow_status': hdx_helpers.follow_status,
+            'shorten': hdx_helpers.shorten
         }
 
     def get_actions(self):


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Search Result: Feature Page tab shows wrong count
The example below says 8 results, but shows only 5.

![image](https://cloud.githubusercontent.com/assets/1654485/4751240/74bf276e-5a9b-11e4-8ba1-222cec8a62fe.png)



Discussion:

Resolving patch:
diff --git a/ckan/logic/action/get.py b/ckan/logic/action/get.py
--- a/ckan/logic/action/get.py
+++ b/ckan/logic/action/get.py
@@ -347,7 +347,7 @@ def _group_or_org_list(context, data_dict, is_org=False):
         sort = 'packages desc'
 
     sort_info = _unpick_search(sort,
-                               allowed_fields=['name', 'packages'],
+                               allowed_fields=['name', 'packages', 'title'],
                                total=1)
 
     all_fields = data_dict.get('all_fields', None)


Test patch:
diff --git a/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py b/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py
--- a/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py
+++ b/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py
@@ -14,6 +14,7 @@
 import ckan.logic as logic
 import ckan.lib.helpers as h
 import logging
+import requests
 
 from ckan.config.middleware import make_app
 from pylons import config
@@ -96,6 +97,25 @@ def test_cannot_create_dataset_wo_source(self):
         assert 'Missing value' in result['dataset_source'], 'The problem needs to be that the source info is missing'
 
 
+    # def test_private_is_private(self):
+    #     try:
+    #         p.load('hdx_package')
+    #     except Exception as e:
+    #         log.warn('Module already loaded')
+    #         log.info(str(e))
+    
+    #     tester = model.User.by_name('tester')
+    #     tests.call_action_api(self.app, 'organization_create',
+    #                                     name='test_org_2',
+    #                                     apikey=tester.apikey)
+
+    #     tests.call_action_api(self.app, 'package_create', name='test-dataset-private',
+    #             private=True, owner_org='test_org_2',package_creator='test-creator', dataset_source='test',
+    #             resources=[{'url':'text_upload_file.txt'}], apikey=tester.apikey, status=409)
+    #     ds = tests.call_action_api(self.app, 'package_show', id='test-dataset-private', apikey=tester.apikey, status=409)
+    #     r =  requests.get(ds['resources'][0]['url'])
+    #     assert r.text == 'Hello World'
+
     def test_related_items_owner_status(self):
         #after edit of a related item the owner id is unchanged
Repository: OCHA-DAP/hdx-ckan

Issue:
Search Result: Feature Page tab shows wrong count
The example below says 8 results, but shows only 5.

![image](https://cloud.githubusercontent.com/assets/1654485/4751240/74bf276e-5a9b-11e4-8ba1-222cec8a62fe.png)



Discussion:

Resolving patch:
diff --git a/ckan/logic/action/get.py b/ckan/logic/action/get.py
--- a/ckan/logic/action/get.py
+++ b/ckan/logic/action/get.py
@@ -347,7 +347,7 @@ def _group_or_org_list(context, data_dict, is_org=False):
         sort = 'packages desc'
 
     sort_info = _unpick_search(sort,
-                               allowed_fields=['name', 'packages'],
+                               allowed_fields=['name', 'packages', 'title'],
                                total=1)
 
     all_fields = data_dict.get('all_fields', None)
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/version.py b/ckanext-hdx_theme/ckanext/hdx_theme/version.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/version.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/version.py
@@ -1 +1 @@
-hdx_version = 'v0.4.2'
+hdx_version = 'v0.4.3'


Test patch:
diff --git a/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py b/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py
--- a/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py
+++ b/ckanext-hdx_package/ckanext/hdx_package/tests/test_metadata_fields.py
@@ -14,6 +14,7 @@
 import ckan.logic as logic
 import ckan.lib.helpers as h
 import logging
+import requests
 
 from ckan.config.middleware import make_app
 from pylons import config
@@ -96,6 +97,25 @@ def test_cannot_create_dataset_wo_source(self):
         assert 'Missing value' in result['dataset_source'], 'The problem needs to be that the source info is missing'
 
 
+    # def test_private_is_private(self):
+    #     try:
+    #         p.load('hdx_package')
+    #     except Exception as e:
+    #         log.warn('Module already loaded')
+    #         log.info(str(e))
+    
+    #     tester = model.User.by_name('tester')
+    #     tests.call_action_api(self.app, 'organization_create',
+    #                                     name='test_org_2',
+    #                                     apikey=tester.apikey)
+
+    #     tests.call_action_api(self.app, 'package_create', name='test-dataset-private',
+    #             private=True, owner_org='test_org_2',package_creator='test-creator', dataset_source='test',
+    #             resources=[{'url':'text_upload_file.txt'}], apikey=tester.apikey, status=409)
+    #     ds = tests.call_action_api(self.app, 'package_show', id='test-dataset-private', apikey=tester.apikey, status=409)
+    #     r =  requests.get(ds['resources'][0]['url'])
+    #     assert r.text == 'Hello World'
+
     def test_related_items_owner_status(self):
         #after edit of a related item the owner id is unchanged
Repository: OCHA-DAP/hdx-ckan

Issue:
Ebola Static Page: static page extension
Create configuration and deploy of static page extention/plugin.
This is a blocker for the other issues.
- populate the list of datasets of the controller



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py b/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py
--- a/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py
+++ b/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py
@@ -90,7 +90,7 @@ def _get_datastore_resource_id(self, context, dataset_id, resource_name):
                     if 'datastore_active' in r and r['datastore_active'] \
                             and r['name'] == resource_name:
                         return r['id']
-            re
+            return None
         except:
             log.warning('No dataset with id ' + dataset_id)
             return None


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Organisation search results sorted by org name (which is not visible to the user) rather than by org title which the user can see.
The organisation list sorts organisations using the name field rather than the title field. This can lead to apparently incorrect sorting (as far as the user is concerned) Where organisation names have been edited. An example is the OCHA HQ organisation [as shown in these search results](https://data.hdx.rwlabs.org/organization?q=OCHA&sort=). The OCHA HQ organisation appears last in the list.



Discussion:
@cjhendrix There are some issues with this. CKAN only allows sorts by certain parameters which is set in _group_or_org_list which is called by group_list, both of these in ckan core. Title is not an acceptable sort parameters for some reason, so I've added it to the core file and changed the template to sort by title but we probably should decide whether when want to submit the change to CKAN itself (easier to for me~~~~) or copy a version of both group_list and _group_or_org_list to our extension.

So fixed but short term fix.

Behavior has not changed for me. Re-opening.  Note: this issue should not block us from deployment.  We can move it to the next sprint if needed. 

assigned to current sprint 37, to @mbellotti 

Actually it looks like the fix got lost somewhere in the merges? Probably my fault, what with the hotfixing privacy issue I was switching between branches pretty often. I may have accidentally committed it to wrong branch.

Also CKAN OKed our change to the core on this, so we can do it the easy way. I'll write a nosetest for it and push it back to CKAN today :)

That's good news!

I still see the same result (on prod and stag now).   Reopening and moving to sprint 37.

@cjhendrix have you selected "Name Asc" and looked at the sort? Cause it's working fine on staging. I just didn't change the default sort.

Yes, I get that now.  D'oh.  

I'll make a new issue for changing the default sort to Name ascending.  Could we also remove the defualt sort altogether?  It won't make sense to a user.

Was done yesterday ;) 

On initial load of the page, I'm still getting OCHA HQ at the bottom:  https://test-data.hdx.rwlabs.org/organization?q=ocha&sort=

Choosing a sort option fixes it, however.

Reopening.

OCHA HQ
vs
https://test-data.hdx.rwlabs.org/organization/un-ocha?sort=metadata_modified+desc


Resolving patch:
diff --git a/ckan/controllers/group.py b/ckan/controllers/group.py
--- a/ckan/controllers/group.py
+++ b/ckan/controllers/group.py
@@ -145,6 +145,8 @@ def index(self):
         sort_by = c.sort_by_selected = request.params.get('sort')
         if sort_by:
             data_dict['sort'] = sort_by
+        else:
+            data_dict['sort'] = 'title asc'
         try:
             self._check_access('site_read', context)
         except NotAuthorized:


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Shrink the map and related divs
![image](https://cloud.githubusercontent.com/assets/1654485/4994413/0a14a7e0-69b9-11e4-8329-f12ef8957fa6.png)



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/version.py b/ckanext-hdx_theme/ckanext/hdx_theme/version.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/version.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/version.py
@@ -1 +1 @@
-hdx_version = 'v0.4.8'
+hdx_version = 'v0.4.9'


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Country/Org/My Datasets: change links to datasets/indicators to match blue style
See issue #1566



Discussion:
assigning it @aalecs 


Resolving patch:
diff --git a/ckanext-hdx_package/ckanext/hdx_package/controllers/dataset_controller.py b/ckanext-hdx_package/ckanext/hdx_package/controllers/dataset_controller.py
--- a/ckanext-hdx_package/ckanext/hdx_package/controllers/dataset_controller.py
+++ b/ckanext-hdx_package/ckanext/hdx_package/controllers/dataset_controller.py
@@ -576,6 +576,12 @@ def read(self, id, format='html'):
             'hdx_get_activity_list')(context, act_data_dict)
         c.related_count = c.pkg.related_count
 
+        #count the number of resource downloads
+        c.downloads_count = 0
+        for resource in c.pkg_dict['resources']:
+            if resource['tracking_summary']:
+                c.downloads_count += resource['tracking_summary']['total']
+
         followers = get_action('dataset_follower_list')({'ignore_auth': True},
                                                         {'id': c.pkg_dict['id']})
         if followers and len(followers) > 0:


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Ebola Page: make millions and % smaller
About half the current height looks right.

![image](https://cloud.githubusercontent.com/assets/1654485/5007241/32010f00-6a4f-11e4-906d-4be38940993f.png)



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py b/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py
--- a/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py
+++ b/ckanext-hdx_crisis/ckanext/hdx_crisis/controllers/crisis_controller.py
@@ -94,12 +94,12 @@ def _format_results(self, result):
                 r[u'formatted_value'] = '{:,}'.format(int_value)
             else:
                 if r[u'units'] == 'ratio':
-                    r[u'formatted_value'] = '{:,.1f}%'.format(
+                    r[u'formatted_value'] = '{:,.1f}'.format(
                         self._get_decimal_value(modified_value))
                 elif r[u'units'] == 'million':
-                    r[u'formatted_value'] = '{:,.1f} '.format(
+                    r[u'formatted_value'] = '{:,.1f}'.format(
                         self._get_decimal_value(modified_value))
-                    r[u'formatted_value'] += ' ' + _('million')
+                    #r[u'formatted_value'] += ' ' + _('million')
 
     def _get_top_line_items(self, context, datastore_resource_id):
         modified_context = dict(context)


Test patch:
Repository: OCHA-DAP/hdx-ckan

Issue:
Shrink the spacing on the top line numbers
Proposed spacings shown here:

![image](https://cloud.githubusercontent.com/assets/1654485/5008984/58c2d9f8-6a62-11e4-9827-75750791e7f9.png)

modified css:

.item-info {
border-top: 1px solid #cccccc;
border-bottom: 1px solid #cccccc;
padding: 20px 0;
margin-top: -1px;
color: #333333;
}

.item-info .item-info-title {
font-family: 'Gotham-Bold', sans-serif;
font-weight: 400;
font-size: 16px;
letter-spacing: 0.01em;
margin-bottom: 20px;
}

.item-info .item-info-number {
font-family: 'Gotham-Light', sans-serif;
font-size: 74px;
line-height: 1;
letter-spacing: 0.01em;
margin-bottom: 20px;
}



Discussion:

Resolving patch:
diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/version.py b/ckanext-hdx_theme/ckanext/hdx_theme/version.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/version.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/version.py
@@ -1 +1 @@
-hdx_version = 'v0.4.9'
+hdx_version = 'v0.4.10'


Test patch: