We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Dataset edit: The country functionality should not be in optional and should work as it does on the Dataset Creation page


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `ckanext-hdx_theme/ckanext/hdx_theme/licenses.py`
Content:
```
1 '''
2 Created on May 12, 2014
3 
4 @author: alexandru-m-g
5 '''
6 
7 from ckan.common import _
8 from ckan.model.license import DefaultLicense
9 
10 
11 class LicenseCreativeCommonsIntergovernmentalOrgs(DefaultLicense):
12 #     domain_content = True
13 #     domain_data = True
14     id = "cc-by-igo"
15     is_okd_compliant = False
16     url = "http://creativecommons.org/licenses/by/3.0/igo/legalcode"
17 
18     @property
19     def title(self):
20         return _("Creative Commons Attribution for Intergovernmental Organisations")
21     
22 class LicenseCreativeCommonsNoDerives(DefaultLicense):
23 #     domain_content = True
24 #     domain_data = True
25     id = "cc-by-nd"
26     is_okd_compliant = False
27     url = "http://creativecommons.org/licenses/by-nd/3.0/legalcode"
28 
29     @property
30     def title(self):
31         return _("Creative Commons Attribution-NoDerives")
32     
33 class LicenseOtherPublicDomainNoRestrictions(DefaultLicense):
34 #     domain_content = True
35     id = "other-pd-nr"
36     is_generic = True
37     is_okd_compliant = True
38 
39     @property
40     def title(self):
41         return _("Public Domain / No Restrictions")
42 
43 class LicenseHdxMultiple(DefaultLicense):
44 #     domain_content = True
45     id = "hdx-multi"
46 #     is_generic = True
47 #     is_okd_compliant = True
48 
49     @property
50     def title(self):
51         return _("Multiple Licenses")
52 
53 class LicenseHdxOther(DefaultLicense):
54 #     domain_content = True
55     id = "hdx-other"
56 #     is_generic = True
57 #     is_okd_compliant = True
58 
59     @property
60     def title(self):
61         return _("Other")
62 
63
```

Path: `ckanext-hdx_theme/ckanext/hdx_theme/plugin.py`
Content:
```
1 import ckanext.hdx_theme.licenses as hdx_licenses
2 
3 import ckan.plugins as plugins
4 import ckan.plugins.toolkit as toolkit
5 import ckan.model.package as package
6 import ckan.model.license as license
7 import version
8 
9 import ckanext.hdx_theme.caching as caching
10 
11 
12 
13 def run_on_startup():
14     _generate_license_list()
15     
16     caching.cached_get_group_package_stuff()
17     
18 
19 def _generate_license_list():
20     package.Package._license_register = license.LicenseRegister() 
21     package.Package._license_register.licenses = [
22                                                   license.License(hdx_licenses.LicenseCreativeCommonsIntergovernmentalOrgs()),
23                                                   license.License(license.LicenseCreativeCommonsAttribution()),
24                                                   license.License(license.LicenseCreativeCommonsAttributionShareAlike()),
25                                                   license.License(hdx_licenses.LicenseCreativeCommonsNoDerives()),
26                                                   license.License(hdx_licenses.LicenseOtherPublicDomainNoRestrictions()),
27                                                   license.License(hdx_licenses.LicenseHdxMultiple()),
28                                                   license.License(hdx_licenses.LicenseHdxOther())
29                                                   ]
30 
31 class HDXThemePlugin(plugins.SingletonPlugin):
32     plugins.implements(plugins.IConfigurer)
33     plugins.implements(plugins.IRoutes, inherit=True)
34     plugins.implements(plugins.ITemplateHelpers)
35     plugins.implements(plugins.IActions)
36     plugins.implements(plugins.IGroupController, inherit=True)
37     plugins.implements(plugins.IMiddleware, inherit=True)
38     
39     def update_config(self, config):
40         toolkit.add_template_directory(config, 'templates')
41         toolkit.add_public_directory(config, 'public')
42         toolkit.add_resource('fanstatic', 'hdx_theme')
43         
44 
45     def before_map(self, map):
46         map.connect('home', '/', controller='ckanext.hdx_theme.splash_page:SplashPageController', action='index')
47         map.connect('/count/dataset', controller='ckanext.hdx_theme.count:CountController', action='dataset')
48         map.connect('/count/country', controller='ckanext.hdx_theme.count:CountController', action='country')
49         map.connect('/count/source', controller='ckanext.hdx_theme.count:CountController', action='source')
50         map.connect('/user/logged_in', controller='ckanext.hdx_theme.login:LoginController', action='logged_in')
51         map.connect('/contribute', controller='ckanext.hdx_theme.login:LoginController', action='contribute')
52         
53         map.connect('/count/test', controller='ckanext.hdx_theme.count:CountController', action='test')
54         
55         return map
56     
57     def create(self, entity):
58         caching.invalidate_group_caches()
59 
60     def edit(self, entity):
61         caching.invalidate_group_caches()
62 
63     def get_helpers(self):
64         from ckanext.hdx_theme import helpers as hdx_helpers
65         return {
66             'is_downloadable': hdx_helpers.is_downloadable,
67             'get_facet_items_dict':hdx_helpers.get_facet_items_dict,
68             'get_last_modifier_user': hdx_helpers.get_last_modifier_user,
69             'get_filtered_params_list':hdx_helpers.get_filtered_params_list,
70             'get_last_revision_package':hdx_helpers.get_last_revision_package,
71             'get_last_modifier_user':hdx_helpers.get_last_modifier_user,
72             'get_last_revision_group':hdx_helpers.get_last_revision_group,
73             'get_group_followers':hdx_helpers.get_group_followers,
74             'get_group_members':hdx_helpers.get_group_members,
75             'markdown_extract_strip':hdx_helpers.markdown_extract_strip,
76             'render_date_from_concat_str':hdx_helpers.render_date_from_concat_str,
77             'hdx_version':hdx_helpers.hdx_version,
78             'hdx_build_nav_icon_with_message':hdx_helpers.hdx_build_nav_icon_with_message,
79             'hdx_num_of_new_related_items':hdx_helpers.hdx_num_of_new_related_items
80         }
81         
82     def get_actions(self):
83         from ckanext.hdx_theme import actions as hdx_actions
84         return {
85             'organization_list_for_user':hdx_actions.organization_list_for_user, 
86             'cached_group_list': hdx_actions.cached_group_list
87             
88         }
89     
90     def make_middleware(self, app, config):
91         run_on_startup()
92         return app
93 
94         
95         
96 
97
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py b/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py
--- a/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py
+++ b/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py
@@ -19,16 +19,16 @@
     def title(self):
         return _("Creative Commons Attribution for Intergovernmental Organisations")
     
-class LicenseCreativeCommonsNoDerives(DefaultLicense):
+#class LicenseCreativeCommonsNoDerives(DefaultLicense):
 #     domain_content = True
 #     domain_data = True
-    id = "cc-by-nd"
-    is_okd_compliant = False
-    url = "http://creativecommons.org/licenses/by-nd/3.0/legalcode"
+#    id = "cc-by-nd"
+#    is_okd_compliant = False
+#    url = "http://creativecommons.org/licenses/by-nd/3.0/legalcode"
 
-    @property
-    def title(self):
-        return _("Creative Commons Attribution-NoDerives")
+#    @property
+#    def title(self):
+#        return _("Creative Commons Attribution-NoDerives")
     
 class LicenseOtherPublicDomainNoRestrictions(DefaultLicense):
 #     domain_content = True
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
@@ -21,7 +21,6 @@
                                                   license.License(hdx_licenses.LicenseCreativeCommonsIntergovernmentalOrgs()),
                                                   license.License(license.LicenseCreativeCommonsAttribution()),
                                                   license.License(license.LicenseCreativeCommonsAttributionShareAlike()),
-                                                  license.License(hdx_licenses.LicenseCreativeCommonsNoDerives()),
                                                   license.License(hdx_licenses.LicenseOtherPublicDomainNoRestrictions()),
                                                   license.License(hdx_licenses.LicenseHdxMultiple()),
                                                   license.License(hdx_licenses.LicenseHdxOther())

{"golden_diff": "diff --git a/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py b/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py\n--- a/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py\n+++ b/ckanext-hdx_theme/ckanext/hdx_theme/licenses.py\n@@ -19,16 +19,16 @@\n     def title(self):\n         return _(\"Creative Commons Attribution for Intergovernmental Organisations\")\n     \n-class LicenseCreativeCommonsNoDerives(DefaultLicense):\n+#class LicenseCreativeCommonsNoDerives(DefaultLicense):\n #     domain_content = True\n #     domain_data = True\n-    id = \"cc-by-nd\"\n-    is_okd_compliant = False\n-    url = \"http://creativecommons.org/licenses/by-nd/3.0/legalcode\"\n+#    id = \"cc-by-nd\"\n+#    is_okd_compliant = False\n+#    url = \"http://creativecommons.org/licenses/by-nd/3.0/legalcode\"\n \n-    @property\n-    def title(self):\n-        return _(\"Creative Commons Attribution-NoDerives\")\n+#    @property\n+#    def title(self):\n+#        return _(\"Creative Commons Attribution-NoDerives\")\n     \n class LicenseOtherPublicDomainNoRestrictions(DefaultLicense):\n #     domain_content = True\ndiff --git a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py\n--- a/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py\n+++ b/ckanext-hdx_theme/ckanext/hdx_theme/plugin.py\n@@ -21,7 +21,6 @@\n                                                   license.License(hdx_licenses.LicenseCreativeCommonsIntergovernmentalOrgs()),\n                                                   license.License(license.LicenseCreativeCommonsAttribution()),\n                                                   license.License(license.LicenseCreativeCommonsAttributionShareAlike()),\n-                                                  license.License(hdx_licenses.LicenseCreativeCommonsNoDerives()),\n                                                   license.License(hdx_licenses.LicenseOtherPublicDomainNoRestrictions()),\n                                                   license.License(hdx_licenses.LicenseHdxMultiple()),\n                                                   license.License(hdx_licenses.LicenseHdxOther())\n", "issue": "Dataset edit: The country functionality should not be in optional and should work as it does on the Dataset Creation page\n\n", "before_files": [{"content": "'''\nCreated on May 12, 2014\n\n@author: alexandru-m-g\n'''\n\nfrom ckan.common import _\nfrom ckan.model.license import DefaultLicense\n\n\nclass LicenseCreativeCommonsIntergovernmentalOrgs(DefaultLicense):\n#     domain_content = True\n#     domain_data = True\n    id = \"cc-by-igo\"\n    is_okd_compliant = False\n    url = \"http://creativecommons.org/licenses/by/3.0/igo/legalcode\"\n\n    @property\n    def title(self):\n        return _(\"Creative Commons Attribution for Intergovernmental Organisations\")\n    \nclass LicenseCreativeCommonsNoDerives(DefaultLicense):\n#     domain_content = True\n#     domain_data = True\n    id = \"cc-by-nd\"\n    is_okd_compliant = False\n    url = \"http://creativecommons.org/licenses/by-nd/3.0/legalcode\"\n\n    @property\n    def title(self):\n        return _(\"Creative Commons Attribution-NoDerives\")\n    \nclass LicenseOtherPublicDomainNoRestrictions(DefaultLicense):\n#     domain_content = True\n    id = \"other-pd-nr\"\n    is_generic = True\n    is_okd_compliant = True\n\n    @property\n    def title(self):\n        return _(\"Public Domain / No Restrictions\")\n\nclass LicenseHdxMultiple(DefaultLicense):\n#     domain_content = True\n    id = \"hdx-multi\"\n#     is_generic = True\n#     is_okd_compliant = True\n\n    @property\n    def title(self):\n        return _(\"Multiple Licenses\")\n\nclass LicenseHdxOther(DefaultLicense):\n#     domain_content = True\n    id = \"hdx-other\"\n#     is_generic = True\n#     is_okd_compliant = True\n\n    @property\n    def title(self):\n        return _(\"Other\")\n\n  ", "path": "ckanext-hdx_theme/ckanext/hdx_theme/licenses.py"}, {"content": "import ckanext.hdx_theme.licenses as hdx_licenses\n\nimport ckan.plugins as plugins\nimport ckan.plugins.toolkit as toolkit\nimport ckan.model.package as package\nimport ckan.model.license as license\nimport version\n\nimport ckanext.hdx_theme.caching as caching\n\n\n\ndef run_on_startup():\n    _generate_license_list()\n    \n    caching.cached_get_group_package_stuff()\n    \n\ndef _generate_license_list():\n    package.Package._license_register = license.LicenseRegister() \n    package.Package._license_register.licenses = [\n                                                  license.License(hdx_licenses.LicenseCreativeCommonsIntergovernmentalOrgs()),\n                                                  license.License(license.LicenseCreativeCommonsAttribution()),\n                                                  license.License(license.LicenseCreativeCommonsAttributionShareAlike()),\n                                                  license.License(hdx_licenses.LicenseCreativeCommonsNoDerives()),\n                                                  license.License(hdx_licenses.LicenseOtherPublicDomainNoRestrictions()),\n                                                  license.License(hdx_licenses.LicenseHdxMultiple()),\n                                                  license.License(hdx_licenses.LicenseHdxOther())\n                                                  ]\n\nclass HDXThemePlugin(plugins.SingletonPlugin):\n    plugins.implements(plugins.IConfigurer)\n    plugins.implements(plugins.IRoutes, inherit=True)\n    plugins.implements(plugins.ITemplateHelpers)\n    plugins.implements(plugins.IActions)\n    plugins.implements(plugins.IGroupController, inherit=True)\n    plugins.implements(plugins.IMiddleware, inherit=True)\n    \n    def update_config(self, config):\n        toolkit.add_template_directory(config, 'templates')\n        toolkit.add_public_directory(config, 'public')\n        toolkit.add_resource('fanstatic', 'hdx_theme')\n        \n\n    def before_map(self, map):\n        map.connect('home', '/', controller='ckanext.hdx_theme.splash_page:SplashPageController', action='index')\n        map.connect('/count/dataset', controller='ckanext.hdx_theme.count:CountController', action='dataset')\n        map.connect('/count/country', controller='ckanext.hdx_theme.count:CountController', action='country')\n        map.connect('/count/source', controller='ckanext.hdx_theme.count:CountController', action='source')\n        map.connect('/user/logged_in', controller='ckanext.hdx_theme.login:LoginController', action='logged_in')\n        map.connect('/contribute', controller='ckanext.hdx_theme.login:LoginController', action='contribute')\n        \n        map.connect('/count/test', controller='ckanext.hdx_theme.count:CountController', action='test')\n        \n        return map\n    \n    def create(self, entity):\n        caching.invalidate_group_caches()\n\n    def edit(self, entity):\n        caching.invalidate_group_caches()\n\n    def get_helpers(self):\n        from ckanext.hdx_theme import helpers as hdx_helpers\n        return {\n            'is_downloadable': hdx_helpers.is_downloadable,\n            'get_facet_items_dict':hdx_helpers.get_facet_items_dict,\n            'get_last_modifier_user': hdx_helpers.get_last_modifier_user,\n            'get_filtered_params_list':hdx_helpers.get_filtered_params_list,\n            'get_last_revision_package':hdx_helpers.get_last_revision_package,\n            'get_last_modifier_user':hdx_helpers.get_last_modifier_user,\n            'get_last_revision_group':hdx_helpers.get_last_revision_group,\n            'get_group_followers':hdx_helpers.get_group_followers,\n            'get_group_members':hdx_helpers.get_group_members,\n            'markdown_extract_strip':hdx_helpers.markdown_extract_strip,\n            'render_date_from_concat_str':hdx_helpers.render_date_from_concat_str,\n            'hdx_version':hdx_helpers.hdx_version,\n            'hdx_build_nav_icon_with_message':hdx_helpers.hdx_build_nav_icon_with_message,\n            'hdx_num_of_new_related_items':hdx_helpers.hdx_num_of_new_related_items\n        }\n        \n    def get_actions(self):\n        from ckanext.hdx_theme import actions as hdx_actions\n        return {\n            'organization_list_for_user':hdx_actions.organization_list_for_user, \n            'cached_group_list': hdx_actions.cached_group_list\n            \n        }\n    \n    def make_middleware(self, app, config):\n        run_on_startup()\n        return app\n\n        \n        \n\n", "path": "ckanext-hdx_theme/ckanext/hdx_theme/plugin.py"}], "after_files": [{"content": "'''\nCreated on May 12, 2014\n\n@author: alexandru-m-g\n'''\n\nfrom ckan.common import _\nfrom ckan.model.license import DefaultLicense\n\n\nclass LicenseCreativeCommonsIntergovernmentalOrgs(DefaultLicense):\n#     domain_content = True\n#     domain_data = True\n    id = \"cc-by-igo\"\n    is_okd_compliant = False\n    url = \"http://creativecommons.org/licenses/by/3.0/igo/legalcode\"\n\n    @property\n    def title(self):\n        return _(\"Creative Commons Attribution for Intergovernmental Organisations\")\n    \n#class LicenseCreativeCommonsNoDerives(DefaultLicense):\n#     domain_content = True\n#     domain_data = True\n#    id = \"cc-by-nd\"\n#    is_okd_compliant = False\n#    url = \"http://creativecommons.org/licenses/by-nd/3.0/legalcode\"\n\n#    @property\n#    def title(self):\n#        return _(\"Creative Commons Attribution-NoDerives\")\n    \nclass LicenseOtherPublicDomainNoRestrictions(DefaultLicense):\n#     domain_content = True\n    id = \"other-pd-nr\"\n    is_generic = True\n    is_okd_compliant = True\n\n    @property\n    def title(self):\n        return _(\"Public Domain / No Restrictions\")\n\nclass LicenseHdxMultiple(DefaultLicense):\n#     domain_content = True\n    id = \"hdx-multi\"\n#     is_generic = True\n#     is_okd_compliant = True\n\n    @property\n    def title(self):\n        return _(\"Multiple Licenses\")\n\nclass LicenseHdxOther(DefaultLicense):\n#     domain_content = True\n    id = \"hdx-other\"\n#     is_generic = True\n#     is_okd_compliant = True\n\n    @property\n    def title(self):\n        return _(\"Other\")\n\n  ", "path": "ckanext-hdx_theme/ckanext/hdx_theme/licenses.py"}, {"content": "import ckanext.hdx_theme.licenses as hdx_licenses\nfrom beaker.cache import cache_regions\n\nimport ckan.plugins as plugins\nimport ckan.plugins.toolkit as toolkit\nimport ckan.model.package as package\nimport ckan.model.license as license\nimport version;\n\ncache_regions.update({\n        'hdx_memory_cache':{\n            'expire': 172800, # 2 days\n            'type':'memory',\n            'key_length': 250\n        }\n    })\n\ndef _generate_license_list():\n    package.Package._license_register = license.LicenseRegister() \n    package.Package._license_register.licenses = [\n                                                  license.License(hdx_licenses.LicenseCreativeCommonsIntergovernmentalOrgs()),\n                                                  license.License(license.LicenseCreativeCommonsAttribution()),\n                                                  license.License(license.LicenseCreativeCommonsAttributionShareAlike()),\n                                                  license.License(hdx_licenses.LicenseOtherPublicDomainNoRestrictions()),\n                                                  license.License(hdx_licenses.LicenseHdxMultiple()),\n                                                  license.License(hdx_licenses.LicenseHdxOther())\n                                                  ]\n\nclass HDXThemePlugin(plugins.SingletonPlugin):\n    plugins.implements(plugins.IConfigurer)\n    plugins.implements(plugins.IRoutes, inherit=True)\n    plugins.implements(plugins.ITemplateHelpers)\n    plugins.implements(plugins.IActions)\n\n    def update_config(self, config):\n        toolkit.add_template_directory(config, 'templates')\n        toolkit.add_public_directory(config, 'public')\n        toolkit.add_resource('fanstatic', 'hdx_theme')\n\n    def before_map(self, map):\n        map.connect('home', '/', controller='ckanext.hdx_theme.splash_page:SplashPageController', action='index')\n        map.connect('/count/dataset', controller='ckanext.hdx_theme.count:CountController', action='dataset')\n        map.connect('/count/country', controller='ckanext.hdx_theme.count:CountController', action='country')\n        map.connect('/count/source', controller='ckanext.hdx_theme.count:CountController', action='source')\n        map.connect('/user/logged_in', controller='ckanext.hdx_theme.login:LoginController', action='logged_in')\n        map.connect('/contribute', controller='ckanext.hdx_theme.login:LoginController', action='contribute')\n        \n        map.connect('/count/test', controller='ckanext.hdx_theme.count:CountController', action='test')\n        \n        # this is actually a HACK to force the customization of the license list.\n        # the license list should be changed to be based on a JSON rest service\n        _generate_license_list()\n        \n        return map\n\n    def get_helpers(self):\n        from ckanext.hdx_theme import helpers as hdx_helpers\n        return {\n            'is_downloadable': hdx_helpers.is_downloadable,\n            'get_facet_items_dict':hdx_helpers.get_facet_items_dict,\n            'get_last_modifier_user': hdx_helpers.get_last_modifier_user,\n            'get_filtered_params_list':hdx_helpers.get_filtered_params_list,\n            'get_last_revision_package':hdx_helpers.get_last_revision_package,\n            'get_last_modifier_user':hdx_helpers.get_last_modifier_user,\n            'get_last_revision_group':hdx_helpers.get_last_revision_group,\n            'get_group_followers':hdx_helpers.get_group_followers,\n            'get_group_members':hdx_helpers.get_group_members,\n            'markdown_extract_strip':hdx_helpers.markdown_extract_strip,\n            'render_date_from_concat_str':hdx_helpers.render_date_from_concat_str,\n            'hdx_version':hdx_helpers.hdx_version,\n            'hdx_build_nav_icon_with_message':hdx_helpers.hdx_build_nav_icon_with_message,\n            'hdx_num_of_new_related_items':hdx_helpers.hdx_num_of_new_related_items\n        }\n        \n    def get_actions(self):\n        from ckanext.hdx_theme import actions as hdx_actions\n        return {\n            'organization_list_for_user':hdx_actions.organization_list_for_user\n        }\n        \n        \n\n", "path": "ckanext-hdx_theme/ckanext/hdx_theme/plugin.py"}]}