{22} Trac tickets (2647 matches)
Results (1001 - 1100 of 2647)
Id | Type | Owner | Reporter | Milestone | Status | Resolution | Summary | Description | Posixtime | Modifiedtime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#1000 | enhancement | kindly | rgrp | ckan-v1.4-sprint-3 | closed | fixed | Remove call timings code |
Not used and extra overhead. Very useful to strip this out and low cost. Places where it seems to be:
|
1298489643000000 | 1298912726000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2972 | enhancement | seanh | ckan 2.0 | new | Remove any imports of authz.py and delete file |
it is no longer used |
1350297442000000 | 1350297442000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1239 | defect | rgrp | rgrp | ckan-sprint-2011-10-28 | closed | fixed | Remove and re-add tag on package not working |
See reports on list at:
Tracked this to issue in dictization/model_save whereby was ignoring case where Package Tag already there but in deleted state. Rather than describe at length see fix. |
1311441020000000 | 1312453156000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1172 | defect | dread | thejimmyg | ckan-sprint-2011-10-28 | closed | fixed | Remove all try: except: blocks that don't re-raise the original exception |
The current codebase has one or two try: except; blocks that don't catch specific exceptions. Under no circumstances should any broad try: except: blocks be allowed unless the exceptions they catch are immediately re-raised. Uncaught exceptions are wasting us quite a lot of time when trying to track down problems. |
1306926049000000 | 1314118883000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2987 | refactor | seanh | ckan 2.0 | new | Remove all direct calls to logic action and auth functions |
From Toby |
1350298287000000 | 1350298287000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1684 | enhancement | ross | ckan-backlog | assigned | Remove all config from ckanext-archiver |
ckanext-archiver currently has a settings file (and a default) and it should be passed in all relevant information from the context. Remove all settings (ARCHIVE_DIR and MAX_CONTENT_LENGTH and others) and pass them in from CKAN. |
1326983821000000 | 1346670037000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2504 | enhancement | aron.carroll | aron.carroll | ckan-sprint-2012-06-25 | closed | fixed | Remove all Genshi templates from demo theme | 1339156577000000 | 1339409776000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#390 | task | dread | johnbywater | ckan-v1.2 | closed | fixed | Remove a package for SB | 1280418625000000 | 1282214629000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1064 | defect | amercader | closed | duplicate | Remove Workers from ckanext-queue |
The current implementation of Workers in ckanext-queue is broken. Basically the various consume / callback functions expect three arguments (routing_key, operation, payload) when they are in fact receiving only two of them (message_data, message). This is fairly easy to fix, but the question is if Workers add an extra complexity to use the messaging library directly. |
1301417891000000 | 1323169787000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2882 | defect | seanh | ckan-v1.8.1 | new | Remove User Stories Overview from docs? |
Why is this here? Is it up to date? Is anyone keeping it up to date? Does this belong in some sort of CKAN planning or roadmap document rather than in the documentation? |
1345540723000000 | 1345540723000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2414 | enhancement | ross | ross | ckan-sprint-2012-06-25 | closed | fixed | Remove LXML as a dependency on core CKAN |
Core CKAN currently has a dependency on LXML and it would be nice if we could remove it (although this *may* be indirectly through genshi). |
1337761192000000 | 1338471374000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2919 | defect | seanh | ckan-v1.8 | new | Remove IController from docs |
Still in docs but seems gone from code |
1347461253000000 | 1347461253000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2366 | enhancement | ross | amercader | ckan-sprint-2012-06-25 | closed | fixed | Remove Authorization Groups |
1.7 will hide the link on the footer and put a deprecation notice on the related pages, but they should be completely removed on 1.8. |
1335892563000000 | 1346316322000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1289 | CREP | dread | ckan-backlog | closed | wontfix | Remove 'relationships' |
AbstractPackage Relationships have not taken off in the 18 months we've had them in the API. There are some issues with them and we need to spend more time improving them or consider getting rid of them. The ProblemOriginal use cases are expressed here: #253 Here are comments about how we could handle these specific examples better:
3&5. derived resource - better to have some sort of resource relationship perhaps?
Outstanding issues needing serious effort to fix:
SpecificationRemove relationships from model, API, tests, Web UI. Data migration to remove from db. Why do it this wayGetting frustrated having problems with the code, when it's not used much. Often asked about what it's for, but rarely used. Seems an overly complicated design. Backwards Compatibilityn/a Implementation planDeliverablesSee Specification Risks and mitigationsRisk: a customer suddenly wants this, and the new ways to relate resources are not in place yet. Mitigation: discuss this decision thoroughly to make sure we are confident the use cases are not important. Discuss with team, ckan-discuss and specifically the LOD people who have some related packages on thedatahub.org. ParticipantsDavid Read ProgressNot yet. |
1314206502000000 | 1317315211000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#687 | task | dread | dread | ckan-v1.2 | closed | fixed | Release ckanclient 0.4 |
Done. Added release process here: wiki:ReleaseProcess |
1286452098000000 | 1286452650000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#742 | task | dread | dread | ckan-v1.3 | closed | fixed | Release ckan 1.2 to metastable |
Need to make sure #700 is fixed. |
1288002397000000 | 1289824163000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#420 | task | dread | dread | ckan-v1.2 | closed | fixed | Release ckan 1.1 | 1281432518000000 | 1281522091000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1786 | enhancement | dread | mirko.spasic@… | ckan-sprint-2012-02-20 | closed | fixed | Relationships lost when editing package |
If I have a relationship between two packages, and then I edit any property of one of them (Author email, for example), the relationship will automatically be lost. |
1328635226000000 | 1328640597000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1695 | enhancement | dread | dread | closed | fixed | Relationships - improvements |
Suggested by Richard Cyganiak in http://lists.okfn.org/pipermail/ckan-discuss/2012-January/001977.html
|
1327323280000000 | 1330085001000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2515 | enhancement | ross | seanh | closed | fixed | Related tab doesn't look selected when selected |
The related tab on the dataset page doesn't change its appearance when selected like the other tabs do |
1339578247000000 | 1340967971000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2347 | enhancement | icmurray | ross | ckan-v1.8 | closed | fixed | Related stuff dashboard and changes |
Some additions to the related stuff functionality to make it more useful post the 1.7 release. [x] Edit item (after checking auth) [x] My related things on my user page
[x] Related stuff usage counts { 1d }
[x] Un-attached related items {0.25d}
[ ] Dashboard for related
[x] Changing auth for related.
[x] General issues
[ ] UI Changes
[x] Related is a pretty terrible name in the UI - much better to have it called Apps, Ideas etc (perhaps title tag could even give more details e.g. "Apps, Ideas, Visualization and other material related to this dataset") -- btw i thought this was in #2332 but realize it wasn't (apologies for that!)
[x] Documentation, documentation, documentation - AFAICT I can't see anything in v1.7 or master docs. I imagine this would be a short section like http://docs.ckan.org/en/ckan-1.7/commenting.html (and probably coming right after that in the ToC) which says
[ ] Clearly mark the old extension as deprecated from v1.7 forward: https://github.com/okfn/ckanext-apps (I just met someone last week who was working on integrating this and had no idea it was replaced by something better in v1.7) |
1335879539000000 | 1343226149000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2381 | enhancement | ross | ross | ckan-v1.8 | closed | fixed | Related item count on ALL dataset pages |
Make sure the related item count is available on all dataset pages (inc. follow) when it is enabled. |
1337009133000000 | 1337011327000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2819 | defect | danieljohnlewis | demo phase 5 | closed | worksforme | Related Item Summary of Descriptions Markdown Issue |
Problem: When creating a related item it mentions that you can use markdown in the description, however markdown doesn't render in apps page nor in related items page. Expected: Make shortened descriptions (on apps page & related items page) render markdown |
1344504321000000 | 1344545479000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1451 | enhancement | johnglover | johnglover | ckan-sprint-2012-01-09 | closed | fixed | Reintegrate download stats on dataset and resource view page - 0.5d |
And deploy on http://thedatahub.org/ - 0.25d Possible: Also move analytics extension into core (decided not to). |
1320677859000000 | 1324401792000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1598 | enhancement | rgrp | ckan-backlog | new | Reinstate Ratings |
Ratings were disabled approximately a year ago because:
Both problems are solvable and it would be nice to have this feature reinstated.
|
1325177524000000 | 1325474818000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#207 | enhancement | dread | nickstenning | v1.0 | closed | fixed | Reimplement tag selection in jQuery |
Remove the current dependency on Yahoo YUI toolkit for doing tag autocompletion on package edit forms. The (KForge-derived) behaviour files for CKAN can easily be switched to the new jQuery-based ones: see ticket:212. Once this is done, it would make sense to implement the tag-selection code with jQuery. Relevant pages include: |
1260200340000000 | 1271250740000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#163 | enhancement | rgrp | dread | v0.11 | closed | fixed | Regularly put CKAN RDF on Talis CC |
Related to: ticket:90 Link to RDF version of CKAN data on Talis Connected Commons ticket:164 Creating RDF data from CKAN Regularly re-upload the CKAN RDF data to Talis CC. In the long run may wish to only re-convert packages changed since the last upload. However given relatively smaller size of full dataset this optimization is probably not yet required. Cost: ? (1d+ depending on e.g. how easy integration with Talis CC is) |
1256052587000000 | 1265891374000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#106 | enhancement | dread | rgrp | closed | duplicate | Regularly convert CKAN data to RDF and put on Talis CC |
Sister to ticket:90 (Link to RDF version of CKAN data on Talis Connected Commons). Talis have already kindly done an initial conversion. We should repeat this process regularly and re-upload the data to Talis CC. In the long run may wish to only re-convert packages changed since the last upload. However given relatively smaller size of full dataset this optimization is probably not yet required. Attached is the ruby script used by Talis for conversion Cost: ? (1d+ depending on e.g. how easy integration with Talis CC is) |
1251454474000000 | 1256140649000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1532 | defect | dread | ckan-sprint-2011-12-19 | closed | fixed | Registration with OpenID has misleading error message |
The log-in page says "Login using Open ID" and gives instructions for signing up. YET this is only available to users who've already added openid to their account. If you have not done this and then sign-in via OpenID (which is successful from the OpenID end) then you are told "Login failed. Bad username or password." in a flash message. Proposed solution (i don't know if this is possible):
Alternatives:
|
1323276392000000 | 1323956027000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#499 | story | thejimmyg | johnbywater | closed | wontfix | Registration and management of UKLII related code lists, controlled vocabularies and other forms of reference/static data | 1282432571000000 | 1296593038000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1416 | defect | dread | dread | ckan-sprint-2011-11-07 | closed | fixed | Registering with blank email can cause exception |
This might well be a bot, but not POSTing the email field should not cause an exception - it should be 400 and then the sysadmin doesn't get these nags. http://www.publicdata.eu/user/register ... Module ckan.controllers.user:79 in register << c.login = request.params.getone('login') c.fullname = request.params.getone('fullname') c.email = request.params.getone('email') if not model.User.check_name_available(c.login): h.flash_error(_("That username is not available.")) >> c.email = request.params.getone('email') Module webob.multidict:335 in getone << values were found. """ return self._decode_value(self.multi.getone(self._encode_key(key))) def mixed(self): >> return self._decode_value(self.multi.getone(self._encode_key(key))) Module webob.multidict:99 in getone << v = self.getall(key) if not v: raise KeyError('Key not found: %r' % key) if len(v) > 1: raise KeyError('Multiple values match %r: %r' % (key, v)) >> raise KeyError('Key not found: %r' % key) KeyError: "Key not found: 'email'" HTTP_USER_AGENT 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.3 (build 01218); .NET CLR 1.1.4322)' webob._parsed_post_vars (MultiDict([('login', 'ahusernames9'), ('fullname', 'ahusernames9'), ('password1', '******'), ('password2', '******'), ('s', 'Sign up')]), <FakeCGIBody at 0xb9d7c5ec viewing MultiDict([('lo...p')])>) |
1319533989000000 | 1320153507000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1309 | enhancement | zephod | zephod | ckan-sprint-2011-09-12 | closed | duplicate | Registering new user requires immediate login |
Registering a new user directs you to that user's profile page but does not log you in. There is an empty set of "Recent changes" and no ability to modify the page. Users must follow the login link in the top-right corner to continue. Registering a new user should immediately log you in. |
1315225510000000 | 1315586335000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#27 | enhancement | johnbywater | johnbywater | v0.6 | closed | fixed | Register/Update a package via a web-api |
As AUser I want ToCreate/register and update a package via a web api. |
1152551379000000 | 1215543933000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1033 | defect | dread | dread | closed | fixed | Register user with blank password causes 500 |
Go to http://ckan.net/user/register and fill in all the fields apart from password. On submit you get 500 error. |
1299796274000000 | 1308310446000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#9 | enhancement | somebody | johnbywater | milestone1 | closed | fixed | Register new package |
As aAuthenticated User I want toCreate/register a package So thatThe package will be listed in the system and visible to users Notes
|
1152550171000000 | 1152555104000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2 | enhancement | somebody | johnbywater | milestone1 | closed | fixed | Register as user on the service |
As aVisitor I want toBe able to register as a user on the service So thatOne can login and be an authenticated user and perform the actions that only authenticated users can perform Notes
|
1152549635000000 | 1152553157000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#249 | enhancement | rgrp | dread | closed | invalid | Regex search |
Search of package name and title (and other fields) using regular expressions. Current example use-case: Wanting to specify packages with title beginning with 'B'. Issues:
Implementation:
http://www.postgresql.org/docs/current/static/functions-matching.html#FUNCTIONS-POSIX-TABLE |
1265994509000000 | 1311182450000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#338 | story | johnbywater | johnbywater | v1.1 | closed | Reference groups by ID in addition to name, since group names can change | 1275901137000000 | 1280446480000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1078 | enhancement | kindly | rgrp | ckan-v1.5 | closed | fixed | Refactors WUI controllers and forms to use logic layer |
|
1302509347000000 | 1305828973000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2310 | enhancement | icmurray | icmurray | ckan-backlog | new | Refactor the search-query construction in feeds.py |
The feeds controller, used to construct atom feeds, duplicates code found in the package controller's search action (in order to construct the custom feed). Refactor this to remove duplication. |
1334592091000000 | 1337159386000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#80 | enhancement | dread | rgrp | v0.10 | closed | fixed | Refactor or remove modes code |
Get rid of modes in the RESTful API. Do json stuff directly in controllers.
|
1247844263000000 | 1265890912000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1279 | enhancement | ross | amercader | ckan-v1.8 | closed | duplicate | Refactor or deprecate Authorization Groups |
Authorization Groups are going to be deprecated in 1.8 It is still unclear how Authorization Groups fit in the new authz model, so they have been left out of the logic and auth refactoring (Tickets #1229 and #1253) |
1313415367000000 | 1338212028000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2983 | refactor | seanh | ckan 2.0 | new | Refactor lib/base.py to remove circular import issues |
From Toby: c) refactor lib/base.py to remove the circular import issues (render functions to lib/render.py - would fix much of that) |
1350298044000000 | 1350298044000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1403 | enhancement | zephod | zephod | ckan-backlog | new | Refactor groups index page |
Groups are listed alphabetically with paging - not an ideal user experience. We would like to list groups in order of 'popularity': The number of datasets they contain. Following this chain of thought, then, it would be nice to rearrange the groups table by clicking on column headers and having it sort by that column. Furthermore, then, we'd like to implement a full-fledged groups search feature (if this is at all feasible). The forthcoming groups refactor will probably have some bearing on this task. |
1318847512000000 | 1318847566000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#281 | enhancement | dread | dread | v1.0 | closed | fixed | Refactor forms to be plugin-able | 1270542248000000 | 1270723675000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#286 | enhancement | dread | dread | v1.0 | closed | fixed | Refactor forms templates |
Use Nick's examples as a basis to revamp the formalchemy usage, principally in the package edit form. |
1270723513000000 | 1270723629000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2915 | refactor | seanh | ckan 2.0 | new | Refactor form_to_db_schema_options() |
Having two methods form_to_db_schema(self) and form_to_db_schema_options(self, options) seems unnecessary, why not just have form_to_db_schema(self, options=None)? Fixing this might break existing extensions although I don't think any are using form_to_db_schema_options() so it should be okay. The same thing goes for db_to_form_schema_options(). Also why are we passing a dict 'options' that always contains the same three keys 'api', 'context' and 'type'? Why not three params api=None, contenxt=None, type=None? |
1347446269000000 | 1347447588000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#409 | task | rgrp | rgrp | datapkg-0.8 | closed | fixed | Refactor cli to be more 'pluggable' |
|
1281348659000000 | 1297074197000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1420 | enhancement | johnglover | johnglover | ckan-sprint-2011-11-21 | closed | fixed | Refactor ckanext-qa to work as a celery task |
Currently can run as a celery task launched by paster command. Still have to add a CKAN plugin so that QA will run when a resource is added or URL changed, and then update the extension controller/templates to look for QA data from the task_status table instead of directly on the resource. |
1319626138000000 | 1320843789000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#270 | enhancement | johnbywater | johnbywater | closed | fixed | Refactor ckan/lib/importer and ckanclient/loader. |
There is code to create packages in-process (ckan/lib/importer) and via HTTP (ckanclient/loaders/base). There is also code to read different kinds of package source (Google Spreadsheets spreadsheet, other spreadsheet). Propose to refactor all this to have template method in base command class (subclasses may implement command line interface, graphical user interface, or Web interface), where the template method calls on aggregated strategy objects for: reading raw spreadsheet data from spreadsheet application; for inferring CKAN package entities from the raw spreadsheet data; and for writing package entities to CKAN service. Spreadsheet readers to be factored to allow for variations of spreadsheet application. Raw data inferrers to allow for variations in spreadsheet cell structure. CKAN writer strategies to allow for either CKAN client or direct linking. Actual cases then supported by specifying existing strategies (or defining new ones) in a script that invokes the command class. |
1268671804000000 | 1290596640000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1074 | enhancement | rgrp | rgrp | ckan-v1.5 | closed | fixed | Refactor authz web user interface to have common code and templating |
Currently repeat the same template and code across Package Authz, Group Authz, and Authz Group authz. Having now implemented a new, cleaner setup in ckanext-admin we should port this back into core.
Will also deliver a significant improvement in the form of ajax user lookup. |
1302271586000000 | 1314303581000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1596 | enhancement | dread | ckan-future | new | Refactor authz roles |
Suggestions from rgrp:
(This ticket is split off from #1065) |
1324549888000000 | 1338205019000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1278 | enhancement | amercader | ckan-backlog | new | Refactor authorized_query calls |
There are some functions that still use the Auhtorizer().authorized_query method: ./ckan/controllers/authorization_group.py:24: query = ckan.authz.Authorizer().authorized_query(c.user, model.AuthorizationGroup) ./ckan/lib/base.py:237: groups = ckan.authz.Authorizer.authorized_query(c.user, model.Group, ./ckan/lib/search/sql.py:55: q = authz.Authorizer().authorized_query(username, model.Group) ./ckan/lib/search/sql.py:118: q = authz.Authorizer().authorized_query(self.options.get('username'), model.Package) ./ckan/logic/action/get.py:154: query = Authorizer().authorized_query(user, model.Group, model.Action.EDIT) ./ckan/tests/test_authz.py:158: q = self.authorizer.authorized_query(self.notadmin.name, model.Package) ./ckan/tests/test_authz.py:353: q = self.authorizer.authorized_query(self.notmember.name, model.Package) ./ckan/tests/test_authz.py:357: q = self.authorizer.authorized_query(self.member.name, model.Package) ./ckan/tests/functional/test_authorization_group.py:44: group_count = Authorizer.authorized_query(u'russianfan', model.AuthorizationGroup).count() |
1313415177000000 | 1313415177000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1372 | refactor | johnglover | johnglover | ckan-sprint-2011-10-24 | closed | fixed | Refactor archiver to work as a celery task |
Take the resource archiver (currently part of ckanext-qa) and make it into a standalone extension that works as a celery task. |
1317808970000000 | 1319625783000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1229 | enhancement | dread | thejimmyg | ckan-sprint-2011-10-24 | closed | fixed | Refactor all database code out of the controllers and into the logic layer |
Progress can be tracked in this document: |
1311093924000000 | 1319645778000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#669 | task | pudo | pudo | closed | fixed | Refactor Solr to become a generic worker | 1286189594000000 | 1293057161000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#921 | enhancement | sebbacon | thejimmyg | closed | fixed | Refactor DGU Harvesting |
Refactor harvesting code to simplify. |
1295389237000000 | 1300197629000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#910 | enhancement | pudo | pudo | ckan-v1.5 | closed | invalid | Refactor CKANrdf to support extras |
Extra fields should be represented in some manner. |
1295266026000000 | 1310128544000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1079 | enhancement | kindly | rgrp | ckan-v1.4-sprint-5 | closed | fixed | Refactor API to use new logic layer and dictization |
|
1302509530000000 | 1302777504000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#230 | task | dread | dread | v1.0 | closed | fixed | Refactor 'package preview' to use 'package read' |
|
1262788084000000 | 1265293953000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1013 | defect | sebbacon | sebbacon | ckan-v1.4-sprint-5 | closed | fixed | Refactor & write tests for Wordpresser extension |
The Wordpresser extension seems to be working well for DataGM, but needs caching and tests. |
1298887392000000 | 1301909717000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1815 | task | amercader | amercader | ckan-future | new | Reenable Sparql endpoint on publicdata.eu |
Estimate: ? The 4store Sparql endpoint has been down for a long time. It needs to be reenabled and we need to check that the necessary informtion is pushed when creating /editing a dataset. |
1329757723000000 | 1338204641000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2949 | defect | amercader | amercader | new | Reenable Data API button on the new theme |
The checks to show or not the button need to be updated for the latest datastore version |
1349107464000000 | 1349107464000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2428 | enhancement | seanh | seanh | ckan-v1.8 | closed | fixed | Reduce/sort out CKAN's dependencies |
This ticket depends on #2423, #2424, #2425, #2426 and #2427.
|
1337946896000000 | 1341314475000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2427 | enhancement | kindly | seanh | ckan-v1.9 | new | Reduce cruft installed into CKAN's virtualenv due to Pylons | 1337946507000000 | 1341268323000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2947 | enhancement | dominik | new | Redirect to the resource page from /resource/{res-id} |
Use story: As a user of the datasore I want to be able to put the resource id without the dataset name in a url and see the resource page. Proposed redirect: /resource/{res-id} -> dataset/foo-bar/resource/{res-id} |
1349097325000000 | 1349097325000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#937 | enhancement | sebbacon | rgrp | ckan-v1.4-sprint-5 | closed | fixed | Record download stats for resources (extension) |
As a User (especially as a Package Owner/Maintainer?) I want to know how many times a resource has been downloaded (and when). So let's record download stats (as in clicks on the link for a resource). Implementation
Old Spec (do it in CKAN)
Questions
|
1296340273000000 | 1302513831000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#75 | enhancement | dread | rgrp | closed | duplicate | Record and display package "usage" information |
How do we do this?
|
1247828785000000 | 1296341223000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2955 | defect | dominik | dominik | ckan 2.0 | closed | fixed | Recline should be updated | 1349270534000000 | 1350577952000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2944 | enhancement | dominik | new | Recline preview does not work in Opera |
Opera cannot show a recline preview. I shows 0 records. |
1349090802000000 | 1349090802000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3011 | enhancement | johnglover | johnglover | ckan 2.0 | new | Recline fixes and updates for CKAN 2.0 |
Fixes and updates to Recline / Datapreview for CKAN 2.0. |
1352288455000000 | 1352288455000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1807 | enhancement | seanh | seanh | ckan-sprint-2012-03-05 | closed | fixed | Recently added/updated datasets for EC portal |
For EC Portal need a page (or HTML snippet embedded in the front page?) listing recently added or updated datasets.
|
1329742326000000 | 1330809641000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#523 | requirement | pudo | pudo | iati-1 | closed | fixed | Read/write APIs for users and publishing entities |
Read/write APIs for users and publishing entities to access and register data
|
1282893743000000 | 1283897688000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#763 | enhancement | dread | ckan-future | assigned | Read-only mode - Setup |
Admin configures entering read-only mode in one of two places:
Once enabled, no writes can occur to the database (including user ratings and other usage stats). |
1288091506000000 | 1338206204000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#765 | enhancement | dread | ckan-backlog | assigned | Read-only mode - API usage |
All writes to the API are captured and you are returned an error explaining the reason. Possible errors:
|
1288091897000000 | 1338206123000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#501 | requirement | pudo | ckan-v1.2 | closed | duplicate | Read-only maintenance mode |
CKAN should have a read-only maintenance mode with a nice little banner on all pages, appropriate REST messages etc. Bonus points if this is triggered via an environment variable and thus can be triggered by the surrounding apache. |
1282554617000000 | 1282724566000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#761 | story | dread | closed | invalid | Read-only CKAN for maintenance |
Administrator wants to upgrade CKAN or move it to another server. During this time the database is being administered and either edits are lost or can't be done. |
1288090334000000 | 1288091977000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#764 | enhancement | thejimmyg | dread | ckan-v1.5 | closed | duplicate | Read-only CKAN Web UI |
Whilse using CKAN web interface, you are not tempted to edit stuff:
|
1288091619000000 | 1310133334000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#630 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'use constraints' from local copy of metadata document | 1284221210000000 | 1285443069000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#632 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'topic category' from local copy of metadata document | 1284221246000000 | 1285443078000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#624 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'title' from local copy of metadata document | 1284221083000000 | 1284675746000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#631 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'resource-locator' from local copy of metadata document | 1284221223000000 | 1284675741000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#626 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'point of contact' from local copy of metadata document | 1284221117000000 | 1285443038000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#629 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'keywords' from local copy of metadata document | 1284221191000000 | 1285443055000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#627 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'guid' from local copy of metadata document | 1284221134000000 | 1284598028000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#628 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'bounding-box' from local copy of metadata document | 1284221156000000 | 1285443047000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#625 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute 'abstract' from local copy of metadata document | 1284221101000000 | 1284675753000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#633 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute '' from local copy of metadata document | 1284221272000000 | 1285443112000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#634 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute '' from local copy of metadata document | 1284221284000000 | 1285443115000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#635 | task | johnbywater | ckan-v1.2 | closed | fixed | Read attribute '' from local copy of metadata document | 1284221305000000 | 1285443119000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#637 | task | johnbywater | closed | invalid | Read UKLII package data from given metadata document | 1284222536000000 | 1284223104000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1023 | defect | pudo | pudo | closed | wontfix | Re-queueing of worker requests with errors |
Schedule worker calls to be ran several times, with certain intervals. |
1299493179000000 | 1340626231000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1406 | enhancement | zephod | ckan-backlog | new | Re-enable RSS subscriptions |
RSS 'subscribe' buttons appeared in many places on the site but were not very helpful. They took (confused) users pointed to the raw feed code, and Google Reader could not understand the feed. Safari, however, could interpret it correctly. Their presentation needs to be clear and consistent; the RSS feed really needs testing in a variety of readers; and we need to decide exactly which items should get a feed. (Package updates? Groups?) |
1318861327000000 | 1320930088000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#362 | defect | dread | dread | closed | invalid | Ratings should not be created with a GET |
BackgroundIn the Web UI, when you rate a package it simply links to something like: http://ckan.net/package/rate/mke-liquor-licenses?rating=3 This creates a GET request. This is bad because:
|
1278925451000000 | 1311176564000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#77 | enhancement | dread | rgrp | v0.11 | closed | fixed | Rate packages |
As a User or VisitorI wish to rate a package in some way. On the package view, below Openness, there is a 'Rating' heading with the star rating which is selectable. Rating out of 5. One user or IP, one vote. package_rating table: package | user | rating annakarenina | joe.bloggs.openid.com | 4 annakarenina | 154.2.5.47 | 1 |
1247829193000000 | 1255176732000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1267 | defect | dread | dread | closed | fixed | Random exception: cannot set the body to a unicode value |
Occasionally see this problem when producing an error page. Here's an example WebApp Error: <type 'exceptions.TypeError'>: You cannot set the body to a unicode value without a charset URL: http://at.ckan.net/authorizationgroup/new Module weberror.errormiddleware:162 in __call__ << __traceback_supplement__ = Supplement, self, environ sr_checker = ResponseStartChecker(start_response) app_iter = self.application(environ, sr_checker) return self.make_catching_iter(app_iter, environ, sr_checker) except: >> app_iter = self.application(environ, sr_checker) Module beaker.middleware:73 in __call__ << self.cache_manager) environ[self.environ_key] = self.cache_manager return self.app(environ, start_response) >> return self.app(environ, start_response) Module beaker.middleware:152 in __call__ << headers.append(('Set-cookie', cookie)) return start_response(status, headers, exc_info) return self.wrap_app(environ, session_start_response) def _get_session(self): >> return self.wrap_app(environ, session_start_response) Module routes.middleware:130 in __call__ << environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'][:-1] response = self.app(environ, start_response) # Wrapped in try as in rare cases the attribute will be gone already >> response = self.app(environ, start_response) Module pylons.wsgiapp:125 in __call__ << controller = self.resolve(environ, start_response) response = self.dispatch(controller, environ, start_response) if 'paste.testing_variables' in environ and hasattr(response, >> response = self.dispatch(controller, environ, start_response) Module pylons.wsgiapp:324 in dispatch << if log_debug: log.debug("Calling controller class with WSGI interface") return controller(environ, start_response) def load_test_env(self, environ): >> return controller(environ, start_response) Module ckan.lib.base:117 in __call__ << # available in environ['pylons.routes_dict'] try: return WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> return WSGIController.__call__(self, environ, start_response) Module pylons.controllers.core:284 in __call__ << if log_debug: log.debug("Calling Response object to return WSGI data") return response(environ, self.start_response) if log_debug: >> return response(environ, self.start_response) Module webob.exc:248 in __call__ << return [] if not self.body and not self.empty_body: return self.generate_response(environ, start_response) return Response.__call__(self, environ, start_response) >> return self.generate_response(environ, start_response) Module webob.exc:239 in generate_response << status=self.status, headerlist=headerlist, content_type=content_type ) return resp(environ, start_response) >> content_type=content_type Module webob.response:94 in __init__ << if charset is None: raise TypeError( "You cannot set the body to a unicode value without a charset") body = body.encode(charset) self._body = body >> "You cannot set the body to a unicode value without a charset") TypeError: You cannot set the body to a unicode value without a charset |
1312889084000000 | 1312897724000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1359 | enhancement | rgrp | rgrp | ckan-sprint-2012-02-20 | closed | fixed | Radically simplify standard list of licenses |
Major UX grip and incredibly simple to do. May also want to have basic autocomplete support within the list (trivial to do as well I believe). (Talk to RP about this re how we define lists of licenses). |
1317077855000000 | 1329132464000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#312 | defect | rgrp | dread | closed | invalid | Race condition creating PackageRating |
On ckan.net there are a few packages which cause a 403 exception when you try to rate them: http://www.ckan.net/package/rate/coins-data?rating=3 The exception is occuring here: ckan.rating:39 in set_rating rating_obj = rating_query.one() InvalidRequestError?: Multiple rows returned for one() It looks like this package got rated twice in quick succession, creating two similar PackageRating? objects. This race condition needs to be solved and these particular rating objects repaired. |
1273482785000000 | 1311176173000000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#167 | defect | dread | dread | v0.11 | closed | fixed | REST interface you can't update multiple tags |
Only first tag is updated. |
1256209993000000 | 1265891178000000 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#293 | defect | johnbywater | dread | v1.0 | closed | fixed | REST PackageResource update causes exception |
This is caused by editing a package with resources over the REST interface. Exception: URL: http://de.ckan.net/api/rest/package/destatis Module weberror.errormiddleware:162 in __call__ << __traceback_supplement__ = Supplement, self, environ sr_checker = ResponseStartChecker(start_response) app_iter = self.application(environ, sr_checker) return self.make_catching_iter(app_iter, environ, sr_checker) except: >> app_iter = self.application(environ, sr_checker) Module repoze.who.middleware:107 in __call__ << wrapper = StartResponseWrapper(start_response) app_iter = app(environ, wrapper.wrap_start_response) # The challenge decider almost(?) always needs information from the >> app_iter = app(environ, wrapper.wrap_start_response) Module beaker.middleware:73 in __call__ << self.cache_manager) environ[self.environ_key] = self.cache_manager return self.app(environ, start_response) >> return self.app(environ, start_response) Module beaker.middleware:152 in __call__ << headers.append(('Set-cookie', cookie)) return start_response(status, headers, exc_info) return self.wrap_app(environ, session_start_response) def _get_session(self): >> return self.wrap_app(environ, session_start_response) Module routes.middleware:130 in __call__ << environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'][:-1] response = self.app(environ, start_response) # Wrapped in try as in rare cases the attribute will be gone already >> response = self.app(environ, start_response) Module pylons.wsgiapp:125 in __call__ << controller = self.resolve(environ, start_response) response = self.dispatch(controller, environ, start_response) if 'paste.testing_variables' in environ and hasattr(response, >> response = self.dispatch(controller, environ, start_response) Module pylons.wsgiapp:324 in dispatch << if log_debug: log.debug("Calling controller class with WSGI interface") return controller(environ, start_response) def load_test_env(self, environ): >> return controller(environ, start_response) Module ckan.lib.base:51 in __call__ << # available in environ['pylons.routes_dict'] try: return WSGIController.__call__(self, environ, start_response) finally: model.Session.remove() >> return WSGIController.__call__(self, environ, start_response) Module pylons.controllers.core:221 in __call__ << return response(environ, self.start_response) response = self._dispatch_call() if not start_response_called: self.start_response = start_response >> response = self._dispatch_call() Module pylons.controllers.core:172 in _dispatch_call << req.environ['pylons.action_method'] = func response = self._inspect_call(func) else: if log_debug: >> response = self._inspect_call(func) Module pylons.controllers.core:107 in _inspect_call << func.__name__, args) try: result = self._perform_call(func, args) except HTTPException, httpe: if log_debug: >> result = self._perform_call(func, args) Module pylons.controllers.core:60 in _perform_call << """Hide the traceback for everything above this method""" __traceback_hide__ = 'before_and_this' return func(**args) def _inspect_call(self, func): >> return func(**args) Module ckan.controllers.rest:145 in update << fs = ckan.forms.group_fs_combined fs = fs.bind(entity, data=request_fa_dict) validation = fs.validate_on_edit(entity.name, entity.id) if not validation: response.status_int = 409 >> validation = fs.validate_on_edit(entity.name, entity.id) Module ckan.forms.package:385 in validate_on_edit << temp_name = orig_pkg_name self.data['Package-%s-name' % record_id] = u'something_unique' validation = self.validate() if temp_name: # restore it >> validation = self.validate() Module formalchemy.forms:175 in validate << if self.readonly: raise Exception('Cannot validate a read-only FieldSet') return AbstractFieldSet.validate(self) def sync(self): >> return AbstractFieldSet.validate(self) Module formalchemy.forms:104 in validate << success = True for field in self.render_fields.itervalues(): success = field._validate() and success # run this _after_ the field validators, since each field validator # resets its error list. we want to allow the global validator to add >> success = field._validate() and success Module formalchemy.fields:763 in _validate << try: value = self._deserialize() except validators.ValidationError, e: self.errors.append(e) >> value = self._deserialize() Module formalchemy.fields:1354 in _deserialize << if self.is_composite_foreign_key: return self.query(self.relation_type()).get(python_pk(self.renderer.deserialize())) return self.renderer.deserialize() >> return self.renderer.deserialize() Module formalchemy.fields:183 in deserialize << if self.field.is_collection: return [self._deserialize(subdata) for subdata in self._serialized_value()] return self._deserialize(self._serialized_value()) def _deserialize(self, data): >> return self._deserialize(self._serialized_value()) Module formalchemy.fields:167 in _serialized_value << if self.field.is_collection: return self._params.getall(self.name) return self._params.getone(self.name) def deserialize(self): >> return self._params.getone(self.name) Module formalchemy.base:63 in getone << if v is None or isinstance(v, basestring) or isinstance(v, cgi.FieldStorage): return v return v[0] def getall(self, key): v = dict.get(self, key) >> return v[0] TypeError: 'int' object is unsubscriptable Thanks to Friedrich for spotting this. |
1271756102000000 | 1271940083000000 |