Esempio n. 1
0
    def columns(self):
        if not is_bumblebee_feature_enabled() or not is_bumblebeeable(
                self.context):
            self._columns = self.remove_column('preview')
            self._columns = self.remove_column('save_pdf_under_link')

        return self._columns
Esempio n. 2
0
    def __call__(self, *args, **kwargs):
        if not is_bumblebee_feature_enabled():
            raise NotFound

        set_preferred_listing_view('gallery')

        return self.template()
    def __call__(self, *args, **kwargs):
        if not is_bumblebee_feature_enabled():
            raise NotFound

        set_preferred_listing_view('gallery')

        return self.template()
Esempio n. 4
0
    def preferred_view_name(self):
        preferred_view = self.list_view_name
        if is_bumblebee_feature_enabled() and \
                get_preferred_listing_view() == 'gallery':
            preferred_view = self.gallery_view_name

        return preferred_view
Esempio n. 5
0
    def preferred_view_name(self):
        preferred_view = self.list_view_name
        if is_bumblebee_feature_enabled() and \
                get_preferred_listing_view() == 'gallery':
            preferred_view = self.gallery_view_name

        return preferred_view
Esempio n. 6
0
    def setUpPloneSite(self, portal):
        session.current_session = session.BuilderSession()
        session.current_session.session = create_session()
        super(ContentFixtureLayer, self).setUpPloneSite(portal)

        portal.portal_languages.use_combined_language_codes = True
        portal.portal_languages.addSupportedLanguage('de-ch')

        if not DB_CACHE_MANAGER.is_loaded_from_cache(CACHE_GEVER_FIXTURE):
            sqlite_testing.create_tables()
            # Avoid circular imports:
            from opengever.testing.fixtures import OpengeverContentFixture
            setRequest(portal.REQUEST)
            self['fixture_lookup_table'] = OpengeverContentFixture()()
            setRequest(None)
            DB_CACHE_MANAGER.data['fixture_lookup_table'] = (
                self['fixture_lookup_table'])
            DB_CACHE_MANAGER.dump_to_cache(self['zodbDB'], CACHE_GEVER_FIXTURE)
        else:
            DB_CACHE_MANAGER.apply_cache_fixes(CACHE_GEVER_FIXTURE)
            self['fixture_lookup_table'] = (
                DB_CACHE_MANAGER.data['fixture_lookup_table'])

        # bumblebee should only be turned on on-demand with the feature flag.
        # if this assertion fails a profile in the fixture enables bumblebee,
        # or if was left on by mistake after fixture setup.
        assert not is_bumblebee_feature_enabled()
Esempio n. 7
0
 def update_bumblebee_mail_checksums(self):
     if not is_bumblebee_feature_enabled():
         return
     for obj in self.objects(
         {'object_provides': IOGMailMarker.__identifier__},
             'Recalculate checksum and rebuild visual preview for mails'):
         if IOGMail(obj).original_message:
             continue
         IBumblebeeDocument(obj).handle_modified()
Esempio n. 8
0
    def bodyClass(self, template, view):
        """Extends the default body class with the `feature-bumblebee` class, if
        the bumblebeefeature is enabled.
        """
        body_class = super(GeverLayoutPolicy, self).bodyClass(template, view)

        if is_bumblebee_feature_enabled():
            body_class = ' '.join((body_class, 'feature-bumblebee'))

        return body_class
Esempio n. 9
0
    def available(self):
        """Checks if reviving is available for the current object
        """
        if not is_bumblebee_feature_enabled():
            return False

        if not IBumblebeeable.providedBy(self.context):
            return False

        return True
    def available(self):
        """Checks if reviving is available for the current object
        """
        if not is_bumblebee_feature_enabled():
            return False

        if not IBumblebeeable.providedBy(self.context):
            return False

        return True
Esempio n. 11
0
    def bodyClass(self, template, view):
        """Extends the default body class with the `feature-bumblebee` class, if
        the bumblebeefeature is enabled.
        """
        body_class = super(GeverLayoutPolicy, self).bodyClass(template, view)

        if is_bumblebee_feature_enabled():
            body_class = " ".join((body_class, "feature-bumblebee"))

        return body_class
Esempio n. 12
0
    def columns(self):
        """Disable pdf_preview link in deployments without pdfconverter.
        """
        if not is_bumblebee_feature_enabled() or not is_bumblebeeable(self.context):
            self._columns = self.remove_column('preview')

        if not is_pdfconverter_enabled():
            self._columns = self.remove_column('pdf_preview_link')

        return self._columns
Esempio n. 13
0
    def columns(self):
        """Disable pdf_preview link in deployments without pdfconverter.
        """
        if not is_bumblebee_feature_enabled() or not is_bumblebeeable(
                self.context):
            self._columns = self.remove_column('preview')

        if not is_pdfconverter_enabled():
            self._columns = self.remove_column('pdf_preview_link')

        return self._columns
Esempio n. 14
0
    def is_open_as_pdf_action_available(self):
        if not is_bumblebee_feature_enabled():
            return False

        if not self.context.has_file():
            return False

        mime_type_item = self.context.get_mimetype()
        if not mime_type_item:
            return False

        return is_mimetype_supported(mime_type_item[0])
Esempio n. 15
0
    def __call__(self):
        if not is_bumblebee_feature_enabled():
            raise NotFound

        filename = self.request.get('filename')
        if not filename:
            raise NotFound

        notify(PDFDownloadedEvent(self.context))

        url = bumblebee.get_service_v3().get_representation_url(
            self.context, 'pdf', filename=filename)
        return self.request.RESPONSE.redirect(url)
Esempio n. 16
0
    def __call__(self):
        self.install_upgrade_profile()
        catalog = api.portal.get_tool('portal_catalog')
        query = {'portal_type': 'opengever.meeting.sablontemplate'}
        msg = 'Add bumblebee-previews for sablontemplates.'

        for obj in self.objects(query, msg):
            IBumblebeeDocument(obj).update_checksum()
            catalog.reindexObject(obj, idxs=['object_provides'],
                                  update_metadata=False)

            if is_bumblebee_feature_enabled():
                get_service_v3().trigger_storing(obj, deferred=True)
Esempio n. 17
0
    def __call__(self):
        if not is_bumblebee_feature_enabled():
            raise NotFound

        filename = self.request.get('filename')
        if not filename:
            raise NotFound

        notify(PDFDownloadedEvent(self.context))

        url = bumblebee.get_service_v3().get_representation_url(
            self.context, 'pdf', filename=filename)
        return self.request.RESPONSE.redirect(url)
Esempio n. 18
0
    def test_mail_overview_tab(self, browser):
        mail = create(
            Builder('mail').with_asset_message(
                'mail_with_multiple_attachments.eml'))
        browser.login().visit(mail, view='tabbedview_view-overview')

        view = mail.restrictedTraverse('tabbedview_view-overview')
        if not view.is_preview_supported():
            # Unexpected preconditions, print debug output for CI tests
            print "view.is_preview_supported() is unexpectedly False!"

            from opengever.base.pdfconverter import is_pdfconverter_enabled
            print "is_pdfconverter_enabled(): %r" % is_pdfconverter_enabled()

            import pkg_resources
            dist = pkg_resources.get_distribution('opengever.pdfconverter')
            print(
                "pkg_resources.get_distribution"
                "('opengever.pdfconverter'): %r" % dist)

            from opengever.bumblebee import is_bumblebee_feature_enabled
            print("is_bumblebee_feature_enabled(): "
                  "%r" % is_bumblebee_feature_enabled())

        expect = [['Document Date',
                   date_format_helper(get_header_date(mail))],
                  ['Document Type', ''], ['Author',
                                          get_author_by_email(mail)],
                  ['creator', 'Test User (test_user_1_)'], ['Description', ''],
                  ['Foreign Reference', ''],
                  [
                      'Original message', u'mehrere-anhange.eml \u2014 32 KB '
                      u'Checkout and edit Download copy'
                  ],
                  [
                      'Attachments',
                      'Inneres Testma?il ohne Attachments.eml 1 KB '
                      'word_document.docx 22.4 KB '
                      'Text.txt 1 KB '
                      'Save attachments'
                  ], ['Digital Available',
                      'yes'], ['Preserved as paper', 'yes'],
                  ['Date of receipt',
                   date_format_helper(date.today())], ['Date of delivery', ''],
                  ['Classification', 'unprotected'],
                  ['Privacy layer', 'privacy_layer_no'],
                  ['Public Trial', 'unchecked'],
                  ['Public trial statement', '']]

        self.assertEquals(expect, browser.css('table').first.lists())
    def test_mail_overview_tab(self, browser):
        mail = create(Builder('mail')
                      .with_asset_message(
                          'mail_with_multiple_attachments.eml'))
        browser.login().visit(mail, view='tabbedview_view-overview')

        view = mail.restrictedTraverse('tabbedview_view-overview')
        if not view.is_preview_supported():
            # Unexpected preconditions, print debug output for CI tests
            print "view.is_preview_supported() is unexpectedly False!"

            from opengever.base.pdfconverter import is_pdfconverter_enabled
            print "is_pdfconverter_enabled(): %r" % is_pdfconverter_enabled()

            import pkg_resources
            dist = pkg_resources.get_distribution('opengever.pdfconverter')
            print("pkg_resources.get_distribution"
                  "('opengever.pdfconverter'): %r" % dist)

            from opengever.bumblebee import is_bumblebee_feature_enabled
            print ("is_bumblebee_feature_enabled(): "
                   "%r" % is_bumblebee_feature_enabled())

        expect = [['Document Date', date_format_helper(get_header_date(mail))],
                  ['Document Type', ''],
                  ['Author', get_author_by_email(mail)],
                  ['creator', 'Test User (test_user_1_)'],
                  ['Description', ''],
                  ['Foreign Reference', ''],
                  ['Original message',
                   u'mehrere-anhange.eml \u2014 32 KB '
                   u'Checkout and edit Download copy'],
                  ['Attachments',
                   'Inneres Testma?il ohne Attachments.eml 1 KB '
                   'word_document.docx 22.4 KB '
                   'Text.txt 1 KB '
                   'Save attachments'],
                  ['Digital Available', 'yes'],
                  ['Preserved as paper', 'yes'],
                  ['Date of receipt', date_format_helper(date.today())],
                  ['Date of delivery', ''],
                  ['Classification', 'unprotected'],
                  ['Privacy layer', 'privacy_layer_no'],
                  ['Public Trial', 'unchecked'],
                  ['Public trial statement', '']]

        self.assertEquals(expect,
                          browser.css('table').first.lists())
Esempio n. 20
0
    def __call__(self):
        self.install_upgrade_profile()

        if not is_bumblebee_feature_enabled():
            return

        for obj in self.objects(
            {'object_provides': IOGMailMarker.__identifier__},
                'Reset contenttype and rebuild visual preview for mails'):

            original_message = IOGMail(obj).original_message
            if not original_message:
                continue

            original_message.contentType = 'application/vnd.ms-outlook'
            IBumblebeeDocument(obj).handle_modified()
Esempio n. 21
0
    def __call__(self):
        self.install_upgrade_profile()

        if not is_bumblebee_feature_enabled():
            return

        for obj in self.objects(
                {'object_provides': IOGMailMarker.__identifier__},
                'Reset contenttype and rebuild visual preview for mails'):

            original_message = IOGMail(obj).original_message
            if not original_message:
                continue

            original_message.contentType = 'application/vnd.ms-outlook'
            IBumblebeeDocument(obj).handle_modified()
Esempio n. 22
0
    def __call__(self):
        if not is_bumblebee_feature_enabled():
            raise NotFound

        overlay_context = self.context
        version_id = self._get_version_id(overlay_context)

        if version_id is not None:
            overlay_context = self._retrieve_version(overlay_context, version_id)
            alsoProvides(self.request, IVersionedContextMarker)

        self.overlay = getMultiAdapter((overlay_context, self.request), IBumblebeeOverlay)
        self.overlay.version_id = version_id

        # we only render an html fragment, no reason to waste time on diazo
        self.request.response.setHeader('X-Theme-Disabled', 'True')
        return super(BumblebeeOverlayBaseView, self).__call__()
Esempio n. 23
0
    def bodyClass(self, template, view):
        """Extends the default body class with the `feature-bumblebee` class, if
        the bumblebeefeature is enabled.
        """
        classes = [super(GeverLayoutPolicy, self).bodyClass(template, view)]

        if is_bumblebee_feature_enabled():
            classes.append('feature-bumblebee')

        if is_meeting_feature_enabled():
            classes.append('feature-word-meeting')

        if ISQLObjectWrapper.providedBy(self.context):
            normalize = getUtility(IIDNormalizer).normalize
            classes.append('model-{}'.format(
                normalize(type(self.context.model).__name__)))

        return ' '.join(classes)
Esempio n. 24
0
    def bodyClass(self, template, view):
        """Extends the default body class with the `feature-bumblebee` class, if
        the bumblebeefeature is enabled.
        """
        classes = [super(GeverLayoutPolicy, self).bodyClass(template, view)]

        if is_bumblebee_feature_enabled():
            classes.append('feature-bumblebee')

        if is_meeting_feature_enabled():
            classes.append('feature-word-meeting')

        if ISQLObjectWrapper.providedBy(self.context):
            normalize = getUtility(IIDNormalizer).normalize
            classes.append('model-{}'.format(
                normalize(type(self.context.model).__name__)))

        return ' '.join(classes)
Esempio n. 25
0
    def __call__(self):
        if not is_bumblebee_feature_enabled():
            raise NotFound

        overlay_context = self.context
        version_id = self._get_version_id()

        if version_id is not None:
            overlay_context = self._retrieve_version(
                overlay_context, version_id)
            alsoProvides(self.request, IVersionedContextMarker)

        self.overlay = getMultiAdapter(
            (overlay_context, self.request), IBumblebeeOverlay)
        self.overlay.version_id = version_id

        # we only render an html fragment, no reason to waste time on diazo
        self.request.response.setHeader('X-Theme-Disabled', 'True')
        return super(BumblebeeOverlayBaseView, self).__call__()
Esempio n. 26
0
    def __call__(self, *args, **kwargs):
        if is_bumblebee_feature_enabled():
            set_preferred_listing_view('list')
            self.template = BoundPageTemplate(self.bumblebee_template, self)

        return super(Documents, self).__call__(self, *args, **kwargs)
Esempio n. 27
0
 def show_preview(self):
     return is_bumblebee_feature_enabled()
Esempio n. 28
0
 def is_bumblebeeable(self):
     return is_bumblebee_feature_enabled()
Esempio n. 29
0
    def columns(self):
        if not is_bumblebee_feature_enabled() or not is_bumblebeeable(self.context):
            self._columns = self.remove_column('preview')
            self._columns = self.remove_column('save_pdf_under_link')

        return self._columns
Esempio n. 30
0
    def is_bumblebeeable(self):
        if not hasattr(self, '_is_bumblebeeable'):
            self._is_bumblebeeable = (
                is_bumblebee_feature_enabled() and is_bumblebeeable(self))

        return self._is_bumblebeeable
Esempio n. 31
0
    def __call__(self, *args, **kwargs):
        if is_bumblebee_feature_enabled():
            set_preferred_listing_view('list')
            self.template = BoundPageTemplate(self.bumblebee_template, self)

        return super(Documents, self).__call__(self, *args, **kwargs)
Esempio n. 32
0
def is_pdfconverter_enabled():
    return PDFCONVERTER_AVAILABLE and not is_bumblebee_feature_enabled()
Esempio n. 33
0
    def is_convertable(self, document):
        if not is_bumblebee_feature_enabled():
            return False

        return super(GeverBumblebeeService, self).is_convertable(document)
Esempio n. 34
0
    def test_false_if_registry_entry_is_false(self):
        api.portal.set_registry_record(
            'is_feature_enabled', False, interface=IGeverBumblebeeSettings)

        self.assertFalse(is_bumblebee_feature_enabled())
Esempio n. 35
0
 def is_bumblebeeable(self):
     return is_bumblebee_feature_enabled()
Esempio n. 36
0
    def test_false_if_registry_entry_is_false(self):
        api.portal.set_registry_record('is_feature_enabled',
                                       False,
                                       interface=IGeverBumblebeeSettings)

        self.assertFalse(is_bumblebee_feature_enabled())
Esempio n. 37
0
 def show_preview(self):
     return (is_bumblebee_feature_enabled()
             and self.context.get_proposal_document() is not None)
Esempio n. 38
0
 def show_preview(self):
     return (
         is_bumblebee_feature_enabled()
         and self.context.get_proposal_document() is not None
     )
 def show_preview(self):
     return is_bumblebee_feature_enabled() and \
         is_word_meeting_implementation_enabled() and \
         self.context.get_proposal_document() is not None
Esempio n. 40
0
 def is_bumblebeeable(self):
     if not hasattr(self, '_is_bumblebeeable'):
         self._is_bumblebeeable = (is_bumblebee_feature_enabled()
                                   and is_bumblebeeable(self))
     return self._is_bumblebeeable
Esempio n. 41
0
 def show_preview(self):
     return is_bumblebee_feature_enabled()
Esempio n. 42
0
 def is_bumblebeeable(self):
     if not hasattr(self, "_is_bumblebeeable"):
         self._is_bumblebeeable = is_bumblebee_feature_enabled() and is_bumblebeeable(self)
     return self._is_bumblebeeable