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)
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)
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)
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)
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)
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()
def test_add_one_interface(self): request = self.create_dummy() class ITestLayer(Interface): pass provide_request_layer(request, ITestLayer) self.assertTrue(ITestLayer.providedBy(request))
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'))
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'))
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())
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))
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))
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())
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): # 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)
def render(self): if not is_open_task_report_allowed(): raise Unauthorized() provide_request_layer(self.request, IOpenTaskReportLayer) return ExportPDFView.__call__(self)
def render(self): # use the landscape layout # let the request provide IDossierListingLayer provide_request_layer(self.request, self.request_layer) return ExportPDFView.__call__(self)
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)
def provide_dossier_task_layer(request): try: provide_request_layer(request, IDossierTasksLayer) yield finally: noLongerProvides(request, IDossierTasksLayer)
def render(self): provide_request_layer(self.request, IDossierCoverLayer) return ExportPDFView.__call__(self)
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__()
def render(self): provide_request_layer(self.request, self.request_layer) return ExportPDFView.__call__(self)
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)
def provide_dossier_journal_layer(request): try: provide_request_layer(request, IDossierJournalLayer) yield finally: noLongerProvides(request, IDossierJournalLayer)
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__()
def render(self): # Enable IDossierDetailsLayer provide_request_layer(self.request, self.request_layer) return ExportPDFView.__call__(self)
def render(self): if not is_open_task_report_allowed(): raise Unauthorized() provide_request_layer(self.request, self.request_layer) return ExportPDFView.__call__(self)
def __call__(self): provide_request_layer(self.request, self.request_layer) return super(RemovalProtocol, self).__call__()
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)
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)
def render(self): # let the request provide ITaskListingLayer provide_request_layer(self.request, ITaskListingLayer) return ExportPDFView.__call__(self)
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)
def get_view(self, disposition): provide_request_layer(disposition.REQUEST, IRemovalProtocolLayer) layout = DefaultLayout(disposition, disposition.REQUEST, PDFBuilder()) return getMultiAdapter( (disposition, disposition.REQUEST, layout), ILaTeXView)
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)