FIXMEs and TODOs

Ross Jones edited this page Dec 23, 2015 · 1 revision

Rather than add each item as a bug, this list shows the location of all the FIXMEs in CKAN so that those who have any spare time can pick them off.

FIXMEs

  • ckan/authz.py:434: # FIXME: our current pattern is to set context['user'] to
  • ckan/controllers/admin.py:59: '''FIXME: This method is probably not doing what people would expect.
  • ckan/controllers/group.py:390: # FIXME: better error
  • ckan/controllers/package.py:621: ''' FIXME: This is a temporary action to allow styling of the
  • ckan/controllers/user.py:477: # FIXME 403 error for invalid key is a non helpful page
  • ckan/lib/activity_streams.py:55: # FIXME this needs to be translated
  • ckan/lib/app_globals.py:79: # FIXME we should check the css file exists
  • ckan/lib/dictization/model_dictize.py:674: # FIXME why is this just for version 1?
  • ckan/lib/email_notifications.py:177: # FIXME: Raise an exception.
  • ckan/lib/email_notifications.py:198: # FIXME: We are accessing model from lib here but I'm not sure what
  • ckan/lib/email_notifications.py:214: # FIXME: We are accessing model from lib here but I'm not sure what
  • ckan/lib/helpers.py:291: # FIXME this can be written better once the merge
  • ckan/lib/i18n.py:34: # FIXME this wants cleaning up and merging with get_locales_from_config()
  • ckan/lib/search/index.py:229: # FIXME where are we getting these dirty keys from? can we not just
  • ckan/logic/action/create.py:27:# FIXME this looks nasty and should be shared better
  • ckan/logic/action/create.py:861: # FIXME better exception?
  • ckan/logic/action/create.py:1393: # FIXME really package model should have this logic and provide
  • ckan/logic/action/delete.py:362: # FIXME this gets all the packages the user can see which generally will
  • ckan/logic/action/get.py:2534: # FIXME: Filter out activities whose subject or object the user is not
  • ckan/logic/action/get.py:2576: # FIXME: Filter out activities whose subject or object the user is not
  • ckan/logic/action/get.py:2618: # FIXME: Filter out activities whose subject or object the user is not
  • ckan/logic/action/get.py:2650: # FIXME: Filter out activities whose subject or object the user is not
  • ckan/logic/action/get.py:2687: # FIXME: Filter out activities whose subject or object the user is not
  • ckan/logic/action/get.py:2710: # FIXME: Filter out activities whose subject or object the user is not
  • ckan/logic/action/get.py:3194: # FIXME should we be changing the context like this it seems dangerous
  • ckan/logic/action/get.py:3369: # FIXME: Filter out activities whose subject or object the user is not
  • ckan/logic/action/update.py:593: # FIXME: What if the group was deleted and then activated again?
  • ckan/logic/action/update.py:1100: # FIXME check we are in that org
  • ckan/logic/auth/create.py:181: # FIXME This code is shared amoung other logic.auth files and should be
  • ckan/logic/auth/get.py:21: # FIXME we need to remove this for now we allow site read
  • ckan/logic/auth/get.py:220: # FIXME this is available to sysadmins currently till
  • ckan/logic/auth/get.py:231: # FIXME: context['user'] could be an IP address but that case is not
  • ckan/logic/auth/get.py:241: # FIXME: This should go through check_access() not call is_authorized()
  • ckan/logic/auth/update.py:6:# FIXME this import is evil and should be refactored
  • ckan/logic/auth/update.py:192: # FIXME: We shouldn't have to do a try ... except here, validation should
  • ckan/logic/auth/update.py:232: # FIXME currently only sysadmins can change state
  • ckan/logic/validators.py:512: # FIXME is this the best way to cjeck for state only?
  • ckan/model/package.py:527: # FIXME: What if the object was deleted and then activated
  • ckan/model/package_relationship.py:102: # FIXME do we want a more specific error
  • ckan/model/tag.py:239: # FIXME: This assumes that whenever a PackageTag is changed it's
  • ckan/new_tests.py:1:# FIXME: remove this for ckan 2.5
  • ckan/public/base/javascript/modules/resource-view-filters.js:43: // FIXME: Move this class name to some external variable to keep it DRY
  • ckan/public/base/javascript/modules/resource-view-filters.js:73: // FIXME: Get the CSS class from some external variable
  • ckan/templates/package/read.html:32: {# FIXME why is this here? seems wrong #}
  • ckan/tests/init.py:1:# FIXME: remove everything in this file for ckan 2.5
  • ckan/tests/helpers.py:170: # FIXME: remove this method and switch to using helpers.get_test_app
  • ckan/tests/helpers.py:212:## FIXME: remove webtest_* functions below when we upgrade webtest
  • ckan/tests/legacy/functional/api/test_dashboard.py:175: # FIXME: There should actually be 3 activities here, but when you
  • ckan/tests/legacy/functional/api/test_dashboard.py:188: # FIXME: Shouldn't need the [:3] here, it's because when you follow
  • ckan/tests/legacy/functional/test_activity.py:64: # FIXME This test use an old way to get at the schema to
  • ckan/tests/legacy/functional/test_package.py:262: # FIXME need to pretend to be called by the api
  • ckan/tests/legacy/functional/test_tracking.py:79: # FIXME: Can this be done as more of a functional test where we
  • ckan/tests/legacy/functional/test_tracking.py:457: # FIXME: Have some datasets with different numbers of recent and total
  • ckan/tests/legacy/functional/test_tracking.py:497: # FIXME: Have some datasets with different numbers of recent and total
  • ckan/tests/legacy/functional/test_tracking.py:584: # FIXME: Can this be done as more of a functional test where we
  • ckan/tests/logic/action/test_update.py:70: # FIXME we have to pass the email address and password to user_update
  • ckan/tests/logic/action/test_update.py:163: # FIXME we have to pass the email address to user_update even though
  • ckan/tests/logic/action/test_update.py:224: FIXME: The point of this feature seems to be to prevent people from
  • ckan/tests/logic/action/test_update.py:246: # FIXME we have to pass the email address and password to user_update
  • ckan/tests/logic/action/test_update.py:290: # FIXME: We have to pass email and password even though we're not
  • ckan/tests/logic/action/test_update.py:313: # FIXME: We shouldn't have to put email here since we're not
  • ckan/tests/logic/action/test_update.py:316: # FIXME: We shouldn't have to put password here since we're not

TODOs

  • ckan/controllers/admin.py:174: # TODO deleting the head revision corrupts the edit
  • ckan/controllers/api.py:719: # TODO: We need plugins to be able to register new disallowed names
  • ckan/controllers/feed.py:8:TODO: document paged feeds
  • ckan/controllers/feed.py:21:# TODO fix imports
  • ckan/controllers/feed.py:35:# TODO make the item list configurable
  • ckan/controllers/feed.py:298: # TODO check search params
  • ckan/controllers/feed.py:354: # TODO language
  • ckan/controllers/feed.py:389: unicode(len(json.dumps(pkg))), # TODO fix this
  • ckan/controllers/feed.py:469:# TODO paginated feed
  • ckan/controllers/group.py:792: #TODO: remove
  • ckan/controllers/home.py:36: # TODO: send an email to the admin person (#1285)
  • ckan/controllers/package.py:424: # TODO: remove
  • ckan/controllers/package.py:1109: # TODO: find a nicer way of doing this
  • ckan/controllers/revision.py:47: # TODO: make this configurable?
  • ckan/lib/base.py:153: # TODO should we raise error if genshi filters??
  • ckan/lib/dictization/model_save.py:543: # TODO: Handle activity details.
  • ckan/lib/email_notifications.py:96: # TODO: Here we could generate some smarter content for the emails e.g.
  • ckan/lib/email_notifications.py:210: # TODO: Handle failures from send_email_notification.
  • ckan/lib/helpers.py:1193:# TODO: (?) support resource objects as well
  • ckan/lib/search/query.py:141: # TODO: figure out if they change during run-time.
  • ckan/lib/search/sql.py:29: # TODO: tags ...?
  • ckan/logic/action/get.py:968: ##TODO needs to work with dictization layer
  • ckan/logic/action/get.py:990: # TODO: How to handle this object level authz?
  • ckan/logic/action/get.py:2232: # TODO: should we check for user authentication first?
  • ckan/logic/action/get.py:3193: # TODO: Catch exceptions raised by these *_followee_list() functions?
  • ckan/logic/action/update.py:610: # TODO: Also create an activity detail recording what exactly changed
  • ckan/logic/action/update.py:721: # TODO: Also create an activity detail recording what exactly changed in
  • ckan/migration/versions/005_add_authorization_tables.py:48: # Not Good to use model here. TODO: refactor this.
  • ckan/model/core.py:46: # TODO remove them at a later version
  • ckan/model/domain_object.py:27:# TODO: replace this (or at least inherit from) standard SqlalchemyMixin in vdm
  • ckan/model/group.py:90: """ TODO: Determine if this is useful
  • ckan/model/group.py:100: # TODO do we want to return all related packages or certain ones?
  • ckan/model/group.py:397:#TODO
  • ckan/model/package.py:542: # TODO: Purge all related activity stream items when a model object
  • ckan/model/tag.py:39:# TODO: this has a composite primary key ...
  • ckan/plugins/interfaces.py:1238: ##### TODO: flesh out the docstrings a little more. #####
  • ckan/public/base/javascript/client.js:312: // TODO: Check this is supported by IE7. U believe that the IE
  • ckan/public/base/javascript/modules/resource-view-filters.js:48: // TODO: Remove element from "data" when some select selects it.
  • ckan/public/base/less/group.less:9:// TODO: This should really be on the parent.
  • ckan/public/base/test/vendor/less.js:2109: // TODO: Perform unit conversion before comparing
  • ckan/public/base/test/vendor/mocha.js:2405: // TODO: add to stats
  • ckan/public/base/test/vendor/mocha.js:2442: // TODO: defer
  • ckan/public/base/vendor/bootstrap/less/dropdowns.less:159:// TODO: abstract this so that the navbar fixed styles are not placed here?
  • ckan/public/base/vendor/bootstrap/less/forms.less:242:// TODO v3: Convert .inline to .control-inline
  • ckan/public/base/vendor/jquery.ui.core.js:310: // TODO: determine which cases actually cause this to happen
  • ckan/public/base/vendor/jquery.ui.mouse.js:46: // TODO: make sure destroying one instance of mouse doesn't mess with
  • ckan/public/base/vendor/jquery.ui.sortable.js:207: // TODO: Still need to figure out a way to make relative sorting possible
  • ckan/public/base/vendor/jquery.ui.sortable.js:807: //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
  • ckan/public/base/vendor/jquery.ui.widget.js:106: // TODO: remove support for widgetEventPrefix
  • ckan/public/base/vendor/jquery.ui.widget.js:271: // TODO remove dual storage
  • ckan/public/base/vendor/select2/select2.js:440: // TODO - replace query.page with query so users have access to term, page, etc.
  • ckan/public/base/vendor/select2/select2.js:522: // TODO javadoc
  • ckan/public/base/vendor/select2/select2.js:2533: // TODO validate placeholder is a string if specified
  • ckan/templates/package/base_form_page.html:36: {# TODO: Pass in a list of previously created resources and the current package dict #}
  • ckan/templates/package/snippets/resource_form.html:48: {# TODO: Where do these come from, they don't exist in /package/new_package_form.html #}
  • ckan/tests/legacy/functional/api/test_activity.py:343: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:449: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:539: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:633: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:725: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:784: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:827: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:874: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:941: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1024: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1101: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1178: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1292: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1435: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1483: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1563: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:1984: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_activity.py:2029: # TODO: Test for the correct revision_id value.
  • ckan/tests/legacy/functional/api/test_email_notifications.py:51: # TODO: Check that body contains link to dashboard and email prefs.
  • ckan/tests/legacy/functional/api/test_email_notifications.py:141: # TODO: Assert that Sara has some new activities and has already had
  • ckan/tests/legacy/functional/api/test_package_search.py:242: # TODO: solr is not currently set up to allow partial matches
  • ckan/tests/legacy/functional/test_package.py:253: # TODO restore this test. It doesn't make much sense with the
  • ckan/tests/legacy/functional/test_revision.py:4:# TODO: purge revisions after creating them
  • ckan/tests/legacy/functional/test_tracking.py:394: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:537: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:548: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:559: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:566: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:575: # TODO: Test how /_tracking handles unexpected and invalid data.
  • ckan/tests/legacy/functional/test_tracking.py:635: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:643: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:650: # TODO
  • ckan/tests/legacy/functional/test_tracking.py:657: # TODO
  • ckan/tests/legacy/lib/test_solr_package_search.py:221: # TODO: fix this test
  • ckan/tests/legacy/lib/test_solr_package_search.py:396: # TODO: solr is not currently set up to allow partial matches
  • ckan/tests/legacy/misc/test_sync.py:18:# TODO: Reenable this when sync functionality is in place
  • ckan/tests/legacy/models/test_package.py:149: # TODO: go back to this
  • ckan/tests/legacy/models/test_purge_revision.py:68: # TODO: should youngest_revision be made purge aware
  • ckan/tests/logic/action/test_get.py:785: # TODO: Create related items associated with a dataset and test
  • ckan/tests/logic/action/test_update.py:238: # TODO: Valid and invalid values for the rest of the user model's fields.
  • ckan/tests/logic/test_validators.py:314: # TODO: Test user_name_validator()'s behavior when there's a 'user_obj' in
  • ckan/tests/logic/test_validators.py:594:#TODO: Need to test when you are not providing owner_org and the validator
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.