Esempio n. 1
0
    def setUp(self):
        super(TestDossierCoverRenderArguments, self).setUp()

        create(Builder('admin_unit')
               .having(unit_id=u'OG',
                       title=u'Department of forest & hunt',
                       abbreviation=u'DoFH')
               .as_current_admin_unit())

        self.user = create_ogds_user('hugo.boss')
        self.repository = create(
            Builder('repository_root')
            .having(version='Repository 2013 & 2014'))
        repofolder = create(Builder('repository').within(self.repository))
        dossier = create(Builder('dossier')
                         .having(title=u'Foo & bar',
                                 responsible='hugo.boss',
                                 start=date(2013, 11, 1),
                                 end=date(2013, 12, 31))
                         .within(repofolder))

        provide_request_layer(dossier.REQUEST, IDossierCoverLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        self.dossiercover = getMultiAdapter(
            (dossier, dossier.REQUEST, layout), ILaTeXView)
Esempio n. 2
0
    def get_data(self):
        # let the request provide IDossierListingLayer
        provide_request_layer(self.request, self.request_layer)

        assembler = getMultiAdapter((self.context, self.request),
                                    IPDFAssembler)
        return assembler.build_pdf()
    def setUp(self):
        super(TestDossierCoverRenderArguments, self).setUp()

        create(
            Builder('admin_unit').having(
                unit_id=u'OG',
                title=u'Department of forest & hunt',
                abbreviation=u'DoFH').as_current_admin_unit())

        self.user = create_ogds_user('hugo.boss')
        self.repository = create(
            Builder('repository_root').having(
                version='Repository 2013 & 2014'))
        repofolder = create(Builder('repository').within(self.repository))
        dossier = create(
            Builder('dossier').having(title=u'Foo & bar',
                                      responsible='hugo.boss',
                                      start=date(2013, 11, 1),
                                      end=date(2013, 12,
                                               31)).within(repofolder))

        provide_request_layer(dossier.REQUEST, IDossierCoverLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        self.dossiercover = getMultiAdapter((dossier, dossier.REQUEST, layout),
                                            ILaTeXView)
Esempio n. 4
0
    def setUp(self):
        super(TestOpenTaskReport, self).setUp()

        self.user, self.org_unit, self.admin_unit = create(
            Builder('fixture').with_all_unit_setup())

        self.hans = create(Builder('ogds_user')
                           .having(userid='hans.meier',
                                   firstname='Hans',
                                   lastname='Meier')
                           .assign_to_org_units([self.org_unit]))
        create(Builder('user').with_userid('hans.meier'))

        self.peter = create(Builder('ogds_user')
                            .having(userid='peter.peter',
                                    firstname='Peter',
                                    lastname='Peter'))

        self.task = create(Builder("task")
                           .titled(u'Task 1')
                           .having(task_type='comment',
                                   issuer='peter.peter',
                                   responsible='hans.meier',
                                   deadline=date(2014, 07, 01)))

        provide_request_layer(self.task.REQUEST, IOpenTaskReportLayer)
        layout = DefaultLayout(self.task, self.task.REQUEST, PDFBuilder())
        self.opentaskreport = getMultiAdapter(
            (self.task, self.task.REQUEST, layout), ILaTeXView)
Esempio n. 5
0
    def setUp(self):
        if self._is_base_test() or not self.condition():
            return

        self.validate()
        self.resultdir = self.get_test_result_directory()

        from ftw.book import tests
        self.booksdir = os.path.join(os.path.dirname(tests.__file__), 'books')

        request = self.layer['portal'].REQUEST
        mark_layer(None, Dummy(request=request))
        provide_request_layer(request, IWithinBookLayer)
        provide_request_layer(request, self.book_layout_layer)

        # configure language to german, since the test book is german
        tool = getToolByName(self.layer['portal'], "portal_languages")
        tool.manage_setLanguageSettings('de', ['de'])

        self.install_profiles()

        expectation = self.get_absolute_path(self.expected_result)
        filenamebase, _ext = os.path.splitext(os.path.basename(expectation))
        build_dir = os.path.join(self.resultdir, '%s_build' % filenamebase)
        self.config = PDFGeneratorTestConfig(build_dir)
        self.layer['portal'].getSiteManager().registerUtility(self.config)
Esempio n. 6
0
    def setUp(self):
        super(TestOpenTaskReport, self).setUp()

        self.user, self.org_unit, self.admin_unit = create(
            Builder('fixture').with_all_unit_setup())

        self.hans = create(
            Builder('ogds_user').having(userid='hans.meier',
                                        firstname='Hans',
                                        lastname='Meier').assign_to_org_units(
                                            [self.org_unit]))
        create(Builder('user').with_userid('hans.meier'))

        self.peter = create(
            Builder('ogds_user').having(userid='peter.peter',
                                        firstname='Peter',
                                        lastname='Peter'))

        self.task = create(
            Builder("task").titled(u'Task 1').having(
                task_type='comment',
                issuer='peter.peter',
                responsible='hans.meier',
                responsible_client='org-unit-1',
                deadline=date(2014, 07, 01)))

        provide_request_layer(self.task.REQUEST, IOpenTaskReportLayer)
        layout = DefaultLayout(self.task, self.task.REQUEST, PDFBuilder())
        self.opentaskreport = getMultiAdapter(
            (self.task, self.task.REQUEST, layout), ILaTeXView)
Esempio n. 7
0
    def setUp(self):
        if self._is_base_test() or not self.condition():
            return

        self.validate()
        self.resultdir = self.get_test_result_directory()

        from ftw.book import tests
        self.booksdir = os.path.join(os.path.dirname(tests.__file__), 'books')

        request = self.layer['portal'].REQUEST
        mark_layer(None, Dummy(request=request))
        provide_request_layer(request, IWithinBookLayer)
        provide_request_layer(request, self.book_layout_layer)

        # configure language to german, since the test book is german
        tool = getToolByName(self.layer['portal'], "portal_languages")
        tool.manage_setLanguageSettings('de', ['de'])

        self.install_profiles()

        expectation = self.get_absolute_path(self.expected_result)
        filenamebase, _ext = os.path.splitext(os.path.basename(expectation))
        build_dir = os.path.join(self.resultdir, '%s_build' % filenamebase)
        self.config = PDFGeneratorTestConfig(build_dir)
        self.layer['portal'].getSiteManager().registerUtility(self.config)
Esempio n. 8
0
    def __call__(self):

        if self.request.get('embed_remarks', False):
            provide_request_layer(self.request, IAddRemarkLayer)

        if self.request.get('submitted', False):
            output = self.request.get('output', 'pdf')
            return self.export(output)

        return self.index()
Esempio n. 9
0
    def test_add_one_interface(self):

        request = self.create_dummy()

        class ITestLayer(Interface):
            pass

        provide_request_layer(request, ITestLayer)

        self.assertTrue(ITestLayer.providedBy(request))
Esempio n. 10
0
    def test_journal_label(self, browser):
        dossier = create(Builder('dossier').titled(u'Anfr\xf6gen 2015'))

        provide_request_layer(dossier.REQUEST, IDossierJournalLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        dossier_journal = getMultiAdapter((dossier, dossier.REQUEST, layout),
                                          ILaTeXView)

        self.assertEquals(u'Journal of dossier Anfr\xf6gen 2015 (Client1 / 1)',
                          dossier_journal.get_render_arguments().get('label'))
Esempio n. 11
0
    def publishTraverse(self, request, name):

        layout_layer_name = getattr(self.context, 'latex_layout', '')
        if layout_layer_name:
            layout_layer = resolve(layout_layer_name)
            provide_request_layer(request, layout_layer)

        provide_request_layer(request, IWithinBookLayer)

        return super(BookTraverse, self).publishTraverse(request, name)
    def test_journal_label(self, browser):
        dossier = create(Builder('dossier').titled(u'Anfr\xf6gen 2015'))

        provide_request_layer(dossier.REQUEST, IDossierJournalLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        dossier_journal = getMultiAdapter(
            (dossier, dossier.REQUEST, layout), ILaTeXView)

        self.assertEquals(
            u'Journal of dossier Anfr\xf6gen 2015 (Client1 / 1)',
            dossier_journal.get_render_arguments().get('label'))
Esempio n. 13
0
    def test_journal_listing(self, browser):
        repo = create(Builder('repository'))

        with freeze(datetime(2016, 4, 12, 10, 35)):
            browser.login().open(repo)

            factoriesmenu.add('Business Case Dossier')
            browser.fill({'Title': u'Dossier A'})
            browser.find('Save').click()
            dossier = browser.context

            factoriesmenu.add('Document')
            browser.fill({'Title': u'Document A'})
            browser.find('Save').click()

            expected_date = DateTime()

        provide_request_layer(dossier.REQUEST, IDossierJournalLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        dossierjournal = getMultiAdapter((dossier, dossier.REQUEST, layout),
                                         ILaTeXView)

        expected = [{
            'action': {
                'visible': True,
                'type': 'Dossier added',
                'title': u'label_dossier_added'
            },
            'comments': '',
            'actor': 'test_user_1_',
            'time': expected_date
        }, {
            'action': {
                'visible': True,
                'type': 'Document added',
                'title': u'label_document_added'
            },
            'comments': '',
            'actor': 'test_user_1_',
            'time': expected_date
        }, {
            'action': {
                'visible': False,
                'type': 'Dossier modified',
                'title': u'label_dossier_modified'
            },
            'comments': '',
            'actor': 'test_user_1_',
            'time': expected_date
        }]

        self.assertEquals(expected, dossierjournal.get_journal_data())
Esempio n. 14
0
    def test_add_list_with_interfaces(self):

        request = self.create_dummy()

        class ITestLayer(Interface):
            pass

        class ITestLayer2(Interface):
            pass

        provide_request_layer(request, [ITestLayer, ITestLayer2])

        self.assertTrue(ITestLayer.providedBy(request))
        self.assertTrue(ITestLayer2.providedBy(request))
Esempio n. 15
0
    def test_add_two_intefaces_separately(self):

        request = self.create_dummy()

        class ITestLayer(Interface):
            pass

        class ITestLayer2(Interface):
            pass

        provide_request_layer(request, ITestLayer)
        provide_request_layer(request, ITestLayer2)

        self.assertTrue(ITestLayer.providedBy(request))
        self.assertTrue(ITestLayer2.providedBy(request))
Esempio n. 16
0
    def test_journal_listing(self, browser):
        repo = create(Builder('repository'))

        with freeze(datetime(2016, 4, 12, 10, 35)):
            browser.login().open(repo)

            factoriesmenu.add('Business Case Dossier')
            browser.fill({'Title': u'Dossier A'})
            browser.find('Save').click()
            dossier = browser.context

            factoriesmenu.add('Document')
            browser.fill({'Title': u'Document A'})
            browser.find('Save').click()

            expected_date = DateTime()

        provide_request_layer(dossier.REQUEST, IDossierJournalLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        dossierjournal = getMultiAdapter((dossier, dossier.REQUEST, layout),
                                         ILaTeXView)

        expected = [{'action': {'visible': True,
                                'type': 'Dossier added',
                                'title': u'label_dossier_added'},
                     'comments': '',
                     'actor': 'test_user_1_',
                     'time': expected_date},

                    {'action': {'visible': True,
                                'type': 'Document added',
                                'title': u'label_document_added'},
                     'comments': '',
                     'actor': 'test_user_1_',
                     'time': expected_date},

                    {'action': {'visible': False,
                                'type': 'Dossier modified',
                                'title': u'label_dossier_modified'},
                     'comments': '',
                     'actor': 'test_user_1_',
                     'time': expected_date}]

        self.assertEquals(expected, dossierjournal.get_journal_data())
Esempio n. 17
0
    def setUp(self):
        # Stack the component registry
        self["configurationContext"] = zca.stackConfigurationContext(self.get("configurationContext"))

        # Stack the database
        self["zodbDB"] = zodb.stackDemoStorage(self.get("zodbDB"), name="ftw.book:examplecontent")

        # Register and apply the example content GS profile
        import ftw.book.tests

        xmlconfig.file("examplecontent.zcml", ftw.book.tests, context=self["configurationContext"])

        with ploneSite() as portal:
            request = portal.REQUEST
            mark_layer(None, Dummy(request=request))
            provide_request_layer(request, IWithinBookLayer)
            provide_request_layer(request, IDefaultBookLayoutSelectionLayer)

            applyProfile(portal, "ftw.book.tests:examplecontent")
Esempio n. 18
0
    def setUp(self):
        # Stack the component registry
        self['configurationContext'] = zca.stackConfigurationContext(
            self.get('configurationContext'))

        # Stack the database
        self['zodbDB'] = zodb.stackDemoStorage(self.get('zodbDB'),
                                               name='ftw.book:examplecontent')

        # Register and apply the example content GS profile
        import ftw.book.tests
        xmlconfig.file('examplecontent.zcml',
                       ftw.book.tests,
                       context=self['configurationContext'])

        with ploneSite() as portal:
            request = portal.REQUEST
            mark_layer(None, Dummy(request=request))
            provide_request_layer(request, IWithinBookLayer)
            provide_request_layer(request, IDefaultBookLayoutSelectionLayer)

            applyProfile(portal, 'ftw.book.tests:examplecontent')
    def setUp(self):
        super(TestDossierCoverRenderArguments, self).setUp()

        registry = getUtility(IRegistry)
        proxy = registry.forInterface(IBaseClientID)
        proxy.client_title = u'Department of forest & hunt'

        create_ogds_user('hugo.boss')

        self.repository = create(Builder('repository_root')
                            .having(version='Repository 2013 & 2014'))
        repofolder = create(Builder('repository').within(self.repository))
        dossier = create(Builder('dossier')
                         .having(title=u'Foo & bar',
                                 responsible='hugo.boss',
                                 start=date(2013, 11, 1),
                                 end=date(2013, 12, 31))
                         .within(repofolder))

        provide_request_layer(dossier.REQUEST, IDossierCoverLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        self.dossiercover = getMultiAdapter(
            (dossier, dossier.REQUEST, layout), ILaTeXView)
    def setUp(self):
        super(TestDossierCoverRenderArguments, self).setUp()

        registry = getUtility(IRegistry)
        proxy = registry.forInterface(IBaseClientID)
        proxy.client_title = u'Department of forest & hunt'

        create_ogds_user('hugo.boss')

        self.repository = create(
            Builder('repository_root').having(
                version='Repository 2013 & 2014'))
        repofolder = create(Builder('repository').within(self.repository))
        dossier = create(
            Builder('dossier').having(title=u'Foo & bar',
                                      responsible='hugo.boss',
                                      start=date(2013, 11, 1),
                                      end=date(2013, 12,
                                               31)).within(repofolder))

        provide_request_layer(dossier.REQUEST, IDossierCoverLayer)
        layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
        self.dossiercover = getMultiAdapter((dossier, dossier.REQUEST, layout),
                                            ILaTeXView)
Esempio n. 21
0
    def render(self):
        if not is_open_task_report_allowed():
            raise Unauthorized()

        provide_request_layer(self.request, IOpenTaskReportLayer)
        return ExportPDFView.__call__(self)
Esempio n. 22
0
    def render(self):
        # use the landscape layout
        # let the request provide IDossierListingLayer
        provide_request_layer(self.request, self.request_layer)

        return ExportPDFView.__call__(self)
Esempio n. 23
0
def provide_book_layers(book, request):
    layout_layer_name = getattr(book, 'latex_layout', '')
    if layout_layer_name:
        layout_layer = resolve(layout_layer_name)
        provide_request_layer(request, layout_layer)
    provide_request_layer(request, IWithinBookLayer)
Esempio n. 24
0
def provide_dossier_task_layer(request):
    try:
        provide_request_layer(request, IDossierTasksLayer)
        yield
    finally:
        noLongerProvides(request, IDossierTasksLayer)
Esempio n. 25
0
    def render(self):
        provide_request_layer(self.request, IDossierCoverLayer)

        return ExportPDFView.__call__(self)
Esempio n. 26
0
    def __call__(self):
        if not is_open_task_report_allowed():
            raise Unauthorized()

        provide_request_layer(self.request, self.request_layer)
        return super(OpenTaskReportPDFView, self).__call__()
Esempio n. 27
0
    def render(self):
        provide_request_layer(self.request, self.request_layer)

        return ExportPDFView.__call__(self)
Esempio n. 28
0
 def after_create(self, obj):
     provide_request_layer(obj.REQUEST, IWithinBookLayer)
     if self.apply_layer:
         provide_request_layer(obj.REQUEST, self.apply_layer)
     super(BookBuilder, self).after_create(obj)
Esempio n. 29
0
def provide_dossier_journal_layer(request):
    try:
        provide_request_layer(request, IDossierJournalLayer)
        yield
    finally:
        noLongerProvides(request, IDossierJournalLayer)
Esempio n. 30
0
    def render(self):
        provide_request_layer(self.request, IOpenTaskReportLayer)

        return ExportPDFView.__call__(self)
    def __call__(self):
        # Enable IDossierDetailsLayer
        provide_request_layer(self.request, self.request_layer)

        return super(DossierDetailsPDFView, self).__call__()
Esempio n. 32
0
 def after_create(self, obj):
     provide_request_layer(obj.REQUEST, IWithinBookLayer)
     if self.apply_layer:
         provide_request_layer(obj.REQUEST, self.apply_layer)
     super(BookBuilder, self).after_create(obj)
Esempio n. 33
0
    def render(self):
        # Enable IDossierDetailsLayer
        provide_request_layer(self.request, self.request_layer)

        return ExportPDFView.__call__(self)
Esempio n. 34
0
    def render(self):
        if not is_open_task_report_allowed():
            raise Unauthorized()

        provide_request_layer(self.request, self.request_layer)
        return ExportPDFView.__call__(self)
Esempio n. 35
0
    def __call__(self):
        # Enable IDossierDetailsLayer
        provide_request_layer(self.request, self.request_layer)

        return super(DossierDetailsPDFView, self).__call__()
Esempio n. 36
0
    def render(self):
        provide_request_layer(self.request, IDossierCoverLayer)

        return ExportPDFView.__call__(self)
Esempio n. 37
0
    def render(self):
        # Enable IDossierDetailsLayer
        provide_request_layer(self.request, self.request_layer)

        return ExportPDFView.__call__(self)
Esempio n. 38
0
 def __call__(self):
     provide_request_layer(self.request, self.request_layer)
     return super(RemovalProtocol, self).__call__()
Esempio n. 39
0
    def render(self):
        provide_request_layer(self.request, IOpenTaskReportLayer)

        return ExportPDFView.__call__(self)
Esempio n. 40
0
    def render(self):
        provide_request_layer(self.request, self.request_layer)

        return ExportPDFView.__call__(self)
Esempio n. 41
0
    def __call__(self):
        # use the landscape layout
        # let the request provide IDossierListingLayer
        provide_request_layer(self.request, self.request_layer)

        return super(DossierJournalPDFView, self).__call__()
 def get_dossierdetails_view(self, dossier):
     provide_request_layer(dossier.REQUEST, IDossierDetailsLayer)
     layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
     return getMultiAdapter((dossier, dossier.REQUEST, layout), ILaTeXView)
Esempio n. 43
0
    def __call__(self):
        provide_request_layer(self.request, self.request_layer)

        return super(DossierCoverPDFView, self).__call__()
 def setUp(self):
     super(TestJournalListingLaTeXView, self).setUp()
     self.request = getRequest()
     provide_request_layer(self.request, IDossierJournalLayer)
Esempio n. 45
0
    def render(self):
        # let the request provide ITaskListingLayer
        provide_request_layer(self.request, ITaskListingLayer)

        return ExportPDFView.__call__(self)
Esempio n. 46
0
 def setUp(self):
     super(TestJournalListingLaTeXView, self).setUp()
     self.request = getRequest()
     provide_request_layer(self.request, IDossierJournalLayer)
 def get_dossierdetails_view(self, dossier):
     provide_request_layer(dossier.REQUEST, IDossierDetailsLayer)
     layout = DefaultLayout(dossier, dossier.REQUEST, PDFBuilder())
     return getMultiAdapter(
         (dossier, dossier.REQUEST, layout), ILaTeXView)
Esempio n. 48
0
 def get_view(self, disposition):
     provide_request_layer(disposition.REQUEST, IRemovalProtocolLayer)
     layout = DefaultLayout(disposition, disposition.REQUEST, PDFBuilder())
     return getMultiAdapter(
         (disposition, disposition.REQUEST, layout), ILaTeXView)
Esempio n. 49
0
    def __call__(self):
        # let the request provide ITaskListingLayer
        provide_request_layer(self.request, self.request_layer)

        return super(TaskListingPDFView, self).__call__()
 def get_view(self, disposition):
     provide_request_layer(disposition.REQUEST, IRemovalProtocolLayer)
     layout = DefaultLayout(disposition, disposition.REQUEST, PDFBuilder())
     return getMultiAdapter((disposition, disposition.REQUEST, layout),
                            ILaTeXView)
Esempio n. 51
0
    def __call__(self):
        # let the request provide ITaskListingLayer
        provide_request_layer(self.request, self.request_layer)

        return super(TaskListingPDFView, self).__call__()