Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NMRL-296 ValueError in worksheets list. No JSON object could be decoded #132

Merged
merged 4 commits into from
Jun 15, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 20 additions & 25 deletions bika/lims/browser/bika_listing.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,34 @@

""" Display lists of items in tables.
"""
import json
import re
import urllib
import copy
from operator import itemgetter
import json
import traceback
from AccessControl import getSecurityManager
from Acquisition import aq_inner

import App
import pkg_resources
import plone
import transaction
from AccessControl import getSecurityManager
from Acquisition import aq_parent, aq_inner
from DateTime import DateTime
from OFS.interfaces import IOrderedContainer
from Products.AdvancedQuery import And, Or, MatchRegexp, Between, Generic, Eq
from Products.Archetypes.config import REFERENCE_CATALOG
from Products.CMFCore.WorkflowCore import WorkflowException
from Products.CMFCore.utils import getToolByName
from Products.CMFPlone import PloneMessageFactory
from Products.CMFPlone.utils import pretty_title_or_id, isExpired, safe_unicode
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from bika.lims import PMF
from bika.lims import bikaMessageFactory as _
from bika.lims import logger
from bika.lims.browser import BrowserView
from bika.lims.browser.bika_listing_filter_bar import BikaListingFilterBar
from bika.lims.interfaces import IFieldIcons
from bika.lims.utils import getFromString
from bika.lims.utils import isActive, getHiddenAttributesForClass
from bika.lims.utils import t, format_supsub
from bika.lims.utils import t
from bika.lims.utils import to_utf8
from bika.lims.utils import getFromString
from bika.lims.workflow import doActionFor
from bika.lims.workflow import skip
from plone.app.content.browser import tableview
from plone.app.content.browser.foldercontents import FolderContentsView, FolderContentsTable
from plone.app.content.browser.interfaces import IFolderContentsView
from plone.i18n.normalizer.interfaces import IIDNormalizer
from zope.component import getAdapters
from zope.component import getUtility
from zope.component._api import getMultiAdapter
from zope.i18nmessageid import MessageFactory
from zope.interface import Interface
from zope.interface import implements
from bika.lims.browser.bika_listing_filter_bar import BikaListingFilterBar
import types

try:
from plone.batching import Batch
Expand Down Expand Up @@ -787,8 +771,19 @@ def __call__(self):
self.request.response.setCookie(
'bika_listing_filter_bar', None, path='/', max_age=0)
# Saving the filter bar values
cookie_filter_bar = json.loads(cookie_filter_bar) if\
cookie_filter_bar else ''
if cookie_filter_bar is not None and cookie_filter_bar != '':
try:
cookie_filter_bar = json.loads(cookie_filter_bar)
except ValueError:
err_msg = traceback.format_exc() + '\n'
logger.error(
err_msg +
"Error decoding JSON object 'bika_listing_filter_bar' "
"with value {} in {}."
.format(cookie_filter_bar, self.context))
cookie_filter_bar = []
else:
cookie_filter_bar = []
# Creating a dict from cookie data
cookie_data = {}
for k, v in cookie_filter_bar:
Expand Down