Skip to content

Commit

Permalink
CRUD/select: disable default limit for .json representation
Browse files Browse the repository at this point in the history
  • Loading branch information
nursix committed Jan 17, 2017
1 parent 2733843 commit 060e03e
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
eb4deb4 (2017-01-16 16:59:24)
nursix-dev-766-g2733843 (2017-01-17 09:15:50)
20 changes: 13 additions & 7 deletions modules/s3/s3crud.py
Expand Up @@ -1302,8 +1302,8 @@ def select(self, r, **attr):

get_vars = self.request.get_vars

# Start/limit
start, limit = self._limits(get_vars)
# Start/limit (no default limit)
start, limit = self._limits(get_vars, default_limit=None)

# Render extra "_tooltip" field for each row?
tooltip = get_vars.get("tooltip", None)
Expand Down Expand Up @@ -3152,23 +3152,28 @@ def _dl_ajax_delete(cls, r, resource):

# -------------------------------------------------------------------------
@staticmethod
def _limits(get_vars):
def _limits(get_vars, default_limit=0):
"""
Extract page limits (start and limit) from GET vars
@param get_vars: the GET vars
@param default_limit: the default limit, explicit value or:
0 => response.s3.ROWSPERPAGE
None => no default limit
"""

start = get_vars.get("start", None)
limit = get_vars.get("limit", 0)
limit = get_vars.get("limit", default_limit)

# Deal with overrides (pagination limits come last)
if isinstance(start, list):
start = start[-1]
if isinstance(limit, list):
limit = limit[-1]

if limit:
# Ability to override default limit to "Show All"
if limit.lower() == "none":
if isinstance(limit, basestring) and limit.lower() == "none":
#start = None # needed?
limit = None
else:
Expand All @@ -3177,12 +3182,13 @@ def _limits(get_vars):
limit = int(limit)
except (ValueError, TypeError):
# Fall back to defaults
start, limit = None, 0
start, limit = None, default_limit

else:
# Use defaults, assume sspag because this is a
# pagination request by definition
start = None
limit = 0
limit = default_limit

return start, limit

Expand Down
3 changes: 1 addition & 2 deletions modules/templates/STL/config.py
Expand Up @@ -1321,8 +1321,7 @@ def custom_prep(r):
'lookupResource':'human_resource',
'lookupKey':'organisation_id',
'fncRepresent': function(record){return record.person_id},
'optional': true,
'lookupURL': S3.Ap.concat('/hrm/human_resource.json?limit=None&human_resource.organisation_id='),
'optional': true
})'''
s3.jquery_ready.append(script)

Expand Down

0 comments on commit 060e03e

Please sign in to comment.