[Erp5-report] r26862 - /erp5/trunk/products/ERP5Form/SelectionTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed May 6 20:34:39 CEST 2009


Author: kazuhiko
Date: Wed May  6 20:34:39 2009
New Revision: 26862

URL: http://svn.erp5.org?rev=26862&view=rev
Log:
do not raise an exception if a user input negative value or non-number string as a page number.

Modified:
    erp5/trunk/products/ERP5Form/SelectionTool.py

Modified: erp5/trunk/products/ERP5Form/SelectionTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/SelectionTool.py?rev=26862&r1=26861&r2=26862&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/SelectionTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/SelectionTool.py [utf8] Wed May  6 20:34:39 2009
@@ -677,10 +677,13 @@
         lines = int(params.get('list_lines', 0))
         form = REQUEST.form
         if form.has_key('page_start'):
-          list_start = (int(form.pop('page_start', 0)) - 1) * lines
+          try:
+            list_start = (int(form.pop('page_start', 0)) - 1) * lines
+          except ValueError:
+            list_start = 0
         else:
           list_start = int(form.pop('list_start', 0))
-        params['list_start'] = list_start + lines
+        params['list_start'] = max(list_start + lines, 0)
         selection.edit(params=params)
       self.uncheckAll(list_selection_name, listbox_uid)
       return self.checkAll(list_selection_name, uids, REQUEST=REQUEST)
@@ -697,7 +700,10 @@
         lines = int(params.get('list_lines', 0))
         form = REQUEST.form
         if form.has_key('page_start'):
-          list_start = (int(form.pop('page_start', 0)) - 1) * lines
+          try:
+            list_start = (int(form.pop('page_start', 0)) - 1) * lines
+          except ValueError:
+            list_start = 0
         else:
           list_start = int(form.pop('list_start', 0))
         params['list_start'] = max(list_start - lines, 0)
@@ -717,10 +723,13 @@
         lines = int(params.get('list_lines', 0))
         form = REQUEST.form
         if form.has_key('page_start'):
-          list_start = (int(form.pop('page_start', 0)) - 1) * lines
+          try:
+            list_start = (int(form.pop('page_start', 0)) - 1) * lines
+          except ValueError:
+            list_start = 0
         else:
           list_start = int(form.pop('list_start', 0))
-        params['list_start'] = list_start
+        params['list_start'] = max(list_start, 0)
         selection.edit(params=params)
         self.uncheckAll(list_selection_name, listbox_uid)
       return self.checkAll(list_selection_name, uids, REQUEST=REQUEST, query_string=query_string)




More information about the Erp5-report mailing list