Beispiel #1
0
    def setgridstate(self):
        """Stores the current grid configuration (visible columns,
        column order, grouping, sorting etc.) persistent in dictstorage.
        """

        if not self.user_is_logged_in():
            return

        # extract the data
        state = self.request.get('gridstate', None)
        if not state or not isinstance(state, str):
            return

        if state == '{}':
            state = ''
        # get the tab view
        view_name = self.request.get('view_name', None)
        if not view_name:
            return

        listing_view = self._resolve_tab(view_name)
        if not listing_view:
            return

        # get the key for storing the state
        generator = queryMultiAdapter(
            (self.context, listing_view, self.request),
            IGridStateStorageKeyGenerator)
        key = generator.get_key()

        # store the data
        storage = IDictStorage(listing_view)
        storage.set(key, state)
Beispiel #2
0
    def setgridstate(self):
        """Stores the current grid configuration (visible columns,
        column order, grouping, sorting etc.) persistent in dictstorage.
        """

        if not self.user_is_logged_in():
            return

        # extract the data
        state = self.request.get('gridstate', None)
        if not state or not isinstance(state, str):
            return

        if state == '{}':
            state = ''
        # get the tab view
        view_name = self.request.get('view_name', None)
        if not view_name:
            return

        listing_view = self._resolve_tab(view_name)
        if not listing_view:
            return

        # get the key for storing the state
        generator = queryMultiAdapter(
            (self.context, listing_view, self.request),
            IGridStateStorageKeyGenerator)
        key = generator.get_key()

        # store the data
        storage = IDictStorage(listing_view)
        storage.set(key, state)
def update_sync_stamp(context):
    """update the SYNC key with the actual timestamp in the dictstorage"""

    storage = IDictStorage(DictStorageConfigurationContext())
    timestamp = datetime.now().isoformat()
    storage.set(DICTSTORAGE_SYNC_KEY, timestamp)
    logger.info("Updated sync_stamp in dictstorage"
                " to current timestamp (%s)" % timestamp)
    return timestamp
def update_sync_stamp(context):
    """update the SYNC key with the actual timestamp in the dictstorage"""

    storage = IDictStorage(DictStorageConfigurationContext())
    timestamp = datetime.now().isoformat()
    storage.set(DICTSTORAGE_SYNC_KEY, timestamp)
    logger.info("Updated sync_stamp in dictstorage"
                " to current timestamp (%s)" % timestamp)
    return timestamp
Beispiel #5
0
    def set_default_tab(self, tab=None, view=None):
        """Sets the default tab. The id of the tab is passed as
        argument or in the request payload as ``tab``.
        """

        user = AccessControl.getSecurityManager().getUser()
        if user == AccessControl.SpecialUsers.nobody:
            tab = None

        else:
            tab = tab or self.request.get('tab')

        if not tab:
            return json.dumps([
                'error',
                translate('Error', 'plone', context=self.request),
                translate(_(u'error_set_default_tab',
                            u'Could not set default tab.'),
                          context=self.request)
            ])

        tab_title = translate(tab, 'ftw.tabbedview', context=self.request)
        success = [
            'info',
            translate('Information', 'plone', context=self.request),
            translate(_(u'info_set_default_tab',
                        u'The tab ${title} is now your default tab. ' +
                        u'This is a personal setting.',
                        mapping={'title': tab_title}),
                      context=self.request)
        ]

        if not view and self.request.get('viewname', False):
            view = self.context.restrictedTraverse(
                self.request.get('viewname'))
        else:
            view = self

        key_generator = getMultiAdapter((self.context, view, self.request),
                                        IDefaultTabStorageKeyGenerator)
        key = key_generator.get_key()

        storage = IDictStorage(self)
        storage.set(key, tab.lower())

        return json.dumps(success)
Beispiel #6
0
    def set_default_tab(self, tab=None, view=None):
        """Sets the default tab. The id of the tab is passed as
        argument or in the request payload as ``tab``.
        """

        user = AccessControl.getSecurityManager().getUser()
        if user == AccessControl.SpecialUsers.nobody:
            tab = None

        else:
            tab = tab or self.request.get('tab')

        if not tab:
            return json.dumps([
                    'error',
                    translate('Error', 'plone', context=self.request),
                    translate(_(u'error_set_default_tab',
                                u'Could not set default tab.'),
                              context=self.request)])

        tab_title = translate(tab, 'ftw.tabbedview', context=self.request)
        success = [
            'info',
            translate('Information', 'plone', context=self.request),
            translate(_(u'info_set_default_tab',
                        u'The tab ${title} is now your default tab. ' +
                        u'This is a personal setting.',
                        mapping={'title': tab_title}),
                      context=self.request)]

        if not view and self.request.get('viewname', False):
            view = self.context.restrictedTraverse(
                self.request.get('viewname'))
        else:
            view = self

        key_generator = getMultiAdapter((self.context, view, self.request),
                                        IDefaultTabStorageKeyGenerator)
        key = key_generator.get_key()

        storage = IDictStorage(self)
        storage.set(key, tab.lower())

        return json.dumps(success)