コード例 #1
0
    def create_data(self, request_obj, output_model):
        gelijk_obj = request_obj.gelijk
        scope_obj = request_obj.scope.object if request_obj.scope else None
        input_parameters_obj = request_obj.parameters if request_obj.parameters else None
        objects = self.create_object_data(gelijk_obj, scope_obj, input_parameters_obj,
                                          self.get_queryset(request_obj), output_model)

        # TODO [TECH]: Maybe we should move the whole stuurgegevens (or at least zender/ontvanger) to the application level?
        # TODO [TECH]: Reference etc. should also be logged.
        return {
            'stuurgegevens': {
                'berichtcode': self.berichtcode,
                'zender': get_systeem_zender(request_obj.stuurgegevens.ontvanger),
                'ontvanger': get_ontvanger(request_obj.stuurgegevens.zender),
                # TODO [TECH]: Generate reference
                'referentienummer': create_unique_id(),
                'tijdstipBericht': stuf_datetime.now(),
                'crossRefnummer': request_obj.stuurgegevens.referentienummer or IgnoreAttribute(),
                'entiteittype': self.stuf_entiteit.get_mnemonic()
            },
            'parameters': self.create_output_parameters_data(input_parameters_obj),
            'antwoord': {
                'object': objects
            }
        }
コード例 #2
0
    def create_data(self, request_obj, output_model):
        gelijk_obj = request_obj.gelijk
        scope_obj = request_obj.scope.object if request_obj.scope else None
        input_parameters_obj = request_obj.parameters if request_obj.parameters else None
        objects = self.create_object_data(gelijk_obj, scope_obj, input_parameters_obj,
                                          self.get_queryset(request_obj), output_model)

        # TODO [TECH]: Maybe we should move the whole stuurgegevens (or at least zender/ontvanger) to the application level?
        # TODO [TECH]: Reference etc. should also be logged.
        return {
            'stuurgegevens': {
                'berichtcode': self.berichtcode,
                'zender': get_systeem_zender(request_obj.stuurgegevens.ontvanger),
                'ontvanger': get_ontvanger(request_obj.stuurgegevens.zender),
                # TODO [TECH]: Generate reference
                'referentienummer': create_unique_id(),
                'tijdstipBericht': stuf_datetime.now(),
                'crossRefnummer': request_obj.stuurgegevens.referentienummer or IgnoreAttribute(),
                'entiteittype': self.stuf_entiteit.get_mnemonic()
            },
            'parameters': self.create_output_parameters_data(input_parameters_obj),
            'antwoord': {
                'object': objects
            }
        }
コード例 #3
0
def get_bv03_stuurgegevens(data):
    from .choices import BerichtcodeChoices
    from ..utils import create_unique_id

    return {
        'berichtcode': BerichtcodeChoices.bv03,
        'zender': get_systeem_zender(),
        'ontvanger': get_ontvanger(data.stuurgegevens.zender),
        'referentienummer': create_unique_id(),
        'crossRefnummer': data.stuurgegevens.referentienummer,
        'tijdstipBericht': stuf_datetime.now()
    }
コード例 #4
0
    def test_service_request(self):
        client = self._get_client('VerwerkSynchroonVrijBericht')
        stuf_factory = client.type_factory('http://www.egem.nl/StUF/StUF0301')

        with client.options(raw_response=True):
            result = client.service.genereerZaakIdentificatie_Di02(
                stuurgegevens=stuf_factory['Di02-Stuurgegevens-gzi'](
                    berichtcode='Di02',
                    referentienummer='123',
                    tijdstipBericht=stuf_datetime.now(),
                    functie='genereerZaakidentificatie'))

        response_root = etree.fromstring(result.content)
        response_identificatie = response_root.xpath(
            '//zds:zaak/zkn:identificatie', namespaces=self.nsmap)[0].text

        self.assertEqual(response_identificatie, '2017-0000001')
    def test_service_request_create_incremental_year_with_org_id_without_org(
            self):
        client = self._get_client('VerwerkSynchroonVrijBericht')
        stuf_factory = client.type_factory('http://www.egem.nl/StUF/StUF0301')

        with client.options(raw_response=True):
            result = client.service.genereerZaakIdentificatie_Di02(
                stuurgegevens=stuf_factory['Di02-Stuurgegevens-gzi'](
                    berichtcode='Di02',
                    referentienummer='123',
                    tijdstipBericht=stuf_datetime.now(),
                    functie='genereerZaakidentificatie',
                ))

        response_root = etree.fromstring(result.content)
        error_message = response_root.xpath(
            '//stuf:Fo02Bericht/stuf:body/stuf:details',
            namespaces=self.nsmap)[0].text

        self.assertEqual(
            error_message,
            'Ontvangende organisatie is verplicht in de stuurgegevens voor het genereren van identificaties.'
        )
    def test_upload_large_file(self):
        """
        See: https://taiga.maykinmedia.nl/project/haarlem-zaakmagazijn/issue/387
        """

        self.iot = InformatieObjectTypeFactory.create()
        self.zender = {
            'organisatie': 'Maykin Media',
            'applicatie': 'Test',
            'administratie': '',
            'gebruiker': '',
        }
        self.ontvanger = {
            'organisatie': 'Maykin Media',
            'applicatie': 'TTA',
            'administratie': '',
            'gebruiker': '',
        }
        client = self._get_client('OntvangAsynchroon')

        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(
            client)
        today = date.today().strftime('%Y%m%d')

        stuurgegevens = stuf_factory['EDC-StuurgegevensLk01'](
            berichtcode='Lk01',
            entiteittype='EDC',
            zender=self.zender,
            ontvanger=self.ontvanger,
            referentienummer='1234',
            tijdstipBericht=stuf_datetime.now(),
        )

        # Note that the content is base64 encoded twice, and thus increases in size
        # when encoded.
        big_ass_file = b'a' * 3 * 1024**2  # 22MB
        name = '{}.flac'.format(int(time.time()))

        inhoud = stuf_factory.BinaireInhoud(
            big_ass_file,
            bestandsnaam=name,
            contentType='audio/flac',
        )
        response = client.service.voegZaakdocumentToe_EdcLk01(
            parameters=stuf_factory['ParametersLk01'](
                indicatorOvername='V',
                mutatiesoort='T',
            ),
            stuurgegevens=stuurgegevens,
            object=zkn_factory['VoegZaakdocumentToe-EDC-kennisgeving'](
                **{
                    'entiteittype':
                    'EDC',
                    'verwerkingssoort':
                    'T',
                    'identificatie':
                    '12345ABC{}'.format(int(time.time())),
                    'dct.omschrijving':
                    self.iot.informatieobjecttypeomschrijving,
                    'creatiedatum':
                    today,
                    'ontvangstdatum':
                    today,
                    'titel':
                    'To be Everywhere {}'.format(int(time.time())),
                    'beschrijving':
                    '2016 album',
                    'formaat':
                    'CD',
                    'taal':
                    'Engels',
                    'versie':
                    '1',
                    'status':
                    'Gepubliceerd',
                    'verzenddatum':
                    today,
                    'vertrouwelijkAanduiding':
                    'OPENBAAR',
                    'auteur':
                    'Thrice',
                    # 'link': ''
                    'inhoud':
                    inhoud,
                    # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid(
                    #     beginGeldigheid=today,
                    # ),
                    # 'tijdstipRegistratie': '',
                    # 'extraElementend': None,
                    'isRelevantVoor': [
                        zkn_factory['VoegZaakdocumentToe-EDCZAK-kennisgeving'](
                            entiteittype='EDCZAK',
                            verwerkingssoort='T',
                            gerelateerde=zkn_factory[
                                'VoegZaakdocumentToe-ZAK-kerngegevensKennisgeving']
                            (
                                entiteittype='ZAK',
                                verwerkingssoort='I',
                                identificatie=self.zaak.zaakidentificatie,
                                omschrijving=self.zaak.omschrijving,
                                # isVan=None
                            ),
                            # titel
                            # beschrijving
                            # registratiedatum
                            # stt.volgnummer
                            # stt.omschrijving
                            # sta.datumStatusGezet
                            # tijdvakRelatie
                            # tijdvakGeldigheid
                            # tijdstipRegistratie
                            # extraElementen
                        )
                    ]
                }))
    def test_create(self):
        self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO())

        zaak = ZaakFactory.create(
            status_set__indicatie_laatst_gezette_status=JaNee.ja)
        client = self._get_client('OntvangAsynchroon')
        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(
            client)
        today = date.today().strftime('%Y%m%d')

        stuurgegevens = stuf_factory['EDC-StuurgegevensLk01'](
            berichtcode='Lk01',
            entiteittype='EDC',
            zender=self.zender,
            ontvanger=self.ontvanger,
            referentienummer='1234',
            tijdstipBericht=stuf_datetime.now(),
        )

        # Note that the content is base64 encoded twice, and thus increases in size
        # when encoded. suppose we want to send 100 bytes, this will be encoded
        # as 100 * (8/6) * (8/6) = ~178 bytes.
        big_ass_file = b'a' * 22 * 1024**2  # 22MB
        inhoud = stuf_factory.BinaireInhoud(
            base64.b64encode(big_ass_file),
            bestandsnaam='to_be_everywhere.flac',
            contentType='audio/flac',
        )

        response = client.service.voegZaakdocumentToe_EdcLk01(
            parameters=stuf_factory['ParametersLk01'](
                indicatorOvername='V',
                mutatiesoort='T',
            ),
            stuurgegevens=stuurgegevens,
            object=zkn_factory['VoegZaakdocumentToe-EDC-kennisgeving'](
                **{
                    'entiteittype':
                    'EDC',
                    'verwerkingssoort':
                    'T',
                    'identificatie':
                    '12345ABC',
                    'dct.omschrijving':
                    self.iot.informatieobjecttypeomschrijving,
                    'creatiedatum':
                    today,
                    'ontvangstdatum':
                    today,
                    'titel':
                    'To be Everywhere is to be Nowhere',
                    'beschrijving':
                    '2016 album',
                    'formaat':
                    'CD',
                    'taal':
                    'Engels',
                    'versie':
                    '1',
                    'status':
                    'Gepubliceerd',
                    'verzenddatum':
                    today,
                    'vertrouwelijkAanduiding':
                    'OPENBAAR',
                    'auteur':
                    'Thrice',
                    # 'link': ''
                    'inhoud':
                    inhoud,
                    # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid(
                    #     beginGeldigheid=today,
                    # ),
                    # 'tijdstipRegistratie': '',
                    # 'extraElementend': None,
                    'isRelevantVoor': [
                        zkn_factory['VoegZaakdocumentToe-EDCZAK-kennisgeving'](
                            entiteittype='EDCZAK',
                            verwerkingssoort='T',
                            gerelateerde=zkn_factory[
                                'VoegZaakdocumentToe-ZAK-kerngegevensKennisgeving']
                            (
                                entiteittype='ZAK',
                                verwerkingssoort='I',
                                identificatie=zaak.zaakidentificatie,
                                omschrijving=zaak.omschrijving,
                                # isVan=None
                            ),
                            # titel
                            # beschrijving
                            # registratiedatum
                            # stt.volgnummer
                            # stt.omschrijving
                            # sta.datumStatusGezet
                            # tijdvakRelatie
                            # tijdvakGeldigheid
                            # tijdstipRegistratie
                            # extraElementen
                        )
                    ]
                }))

        self.assertIsNotNone(response)
        self.assertEquals(EnkelvoudigInformatieObject.objects.count(), 1)
        zaakdocument = ZaakInformatieObject.objects.get()
        self.assertEquals(zaakdocument.zaak, zaak)
        self.assertIsNotNone(zaakdocument.informatieobject)
    def test_zs_dms_interaction(self):
        """
        Het ZS maakt gebruik van de CMIS-documentservices om de wijzigingen met
        het DMS te synchroniseren.

        Het ZS zorgt ervoor dat het document dat is aangeboden door de DSC
        wordt vastgelegd in het DMS. Hiervoor maakt het ZS gebruik van de
        CMIS-services die aangeboden worden door het DMS. Hierbij gelden de
        volgende eisen:

        * Het document wordt gerelateerd aan de juiste Zaakfolder (Zie 5.1)
        * Het document wordt opgeslagen als objecttype EDC (Zie 5.2)
        * Minimaal de vereiste metadata voor een EDC wordt vastgelegd in de
          daarvoor gedefinieerde objectproperties. In Tabel 3 is een mapping
          aangegeven tussen de StUF-ZKN-elementen en CMIS-objectproperties.
        """
        self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO())
        zaak = ZaakFactory.create(
            status_set__indicatie_laatst_gezette_status=JaNee.ja)
        client = self._get_client('OntvangAsynchroon')
        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(
            client)
        today = date.today().strftime('%Y%m%d')

        stuurgegevens = stuf_factory['EDC-StuurgegevensLk01'](
            berichtcode='Lk01',
            entiteittype='EDC',
            zender=self.zender,
            ontvanger=self.ontvanger,
            referentienummer='1234',
            tijdstipBericht=stuf_datetime.now(),
        )
        inhoud = stuf_factory.BinaireInhoud(
            b'helloworld',
            bestandsnaam='to_be_everywhere.flac',
            contentType='audio/flac',
        )

        response = client.service.voegZaakdocumentToe_EdcLk01(
            parameters=stuf_factory['ParametersLk01'](
                indicatorOvername='V',
                mutatiesoort='T',
            ),
            stuurgegevens=stuurgegevens,
            object=zkn_factory['VoegZaakdocumentToe-EDC-kennisgeving'](
                **{
                    'entiteittype':
                    'EDC',
                    'verwerkingssoort':
                    'T',
                    'identificatie':
                    '12345ABC',
                    'dct.omschrijving':
                    self.iot.informatieobjecttypeomschrijving,
                    'creatiedatum':
                    today,
                    'ontvangstdatum':
                    today,
                    'titel':
                    'To be Everywhere is to be Nowhere',
                    'beschrijving':
                    '2016 album',
                    'formaat':
                    'CD',
                    'taal':
                    'Engels',
                    'versie':
                    '1',
                    'status':
                    'Gepubliceerd',
                    'verzenddatum':
                    today,
                    'vertrouwelijkAanduiding':
                    'OPENBAAR',
                    'auteur':
                    'Thrice',
                    # 'link': ''
                    'inhoud':
                    inhoud,
                    # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid(
                    #     beginGeldigheid=today,
                    # ),
                    # 'tijdstipRegistratie': '',
                    # 'extraElementend': None,
                    'isRelevantVoor':
                    zkn_factory['VoegZaakdocumentToe-EDCZAK-kennisgeving'](
                        entiteittype='EDCZAK',
                        verwerkingssoort='T',
                        gerelateerde=zkn_factory[
                            'VoegZaakdocumentToe-ZAK-kerngegevensKennisgeving']
                        (
                            entiteittype='ZAK',
                            verwerkingssoort='I',
                            identificatie=zaak.zaakidentificatie,
                            omschrijving=zaak.omschrijving,
                            # isVan=None
                        ),
                        # titel
                        # beschrijving
                        # registratiedatum
                        # stt.volgnummer
                        # stt.omschrijving
                        # sta.datumStatusGezet
                        # tijdvakRelatie
                        # tijdvakGeldigheid
                        # tijdstipRegistratie
                        # extraElementen
                    )
                }))

        self.assertIsNotNone(response)
        # assert that the correct DMS client calls were made

        # the document should have been registered in the DMS
        self.assertEqual(
            self._service_dms_client.maak_zaakdocument_met_inhoud.call_count,
            1)

        document = self._service_dms_client.maak_zaakdocument_met_inhoud.call_args[
            0][0]

        kwargs = self._service_dms_client.maak_zaakdocument_met_inhoud.call_args[
            1]
        content_type = kwargs['content_type']
        filename = kwargs['filename']
        bytes = kwargs['stream'].getvalue()

        self.assertEqual(document, EnkelvoudigInformatieObject.objects.get())
        self.assertEqual(filename, 'to_be_everywhere.flac')
        self.assertEqual(content_type, 'audio/flac')
        self.assertEqual(bytes, b'helloworld')

        # the document should have been moved to the correct folder
        self._service_dms_client.relateer_aan_zaak.assert_called_once_with(
            document, zaak)
コード例 #9
0
    def test_create(self):
        self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO())

        zaak = ZaakFactory.create(status_set__indicatie_laatst_gezette_status=JaNee.ja)
        client = self._get_client('OntvangAsynchroon')
        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(client)
        today = date.today().strftime('%Y%m%d')

        response = client.service.maakZaakdocument_EdcLk01(
            parameters=stuf_factory['ParametersLk01'](
                indicatorOvername='V',
                mutatiesoort='T',
            ),
            stuurgegevens=stuf_factory['EDC-StuurgegevensLk01'](
                berichtcode='Lk01',
                entiteittype='EDC',
                zender=self.zender,
                ontvanger=self.ontvanger,
                referentienummer='1234',
                tijdstipBericht=stuf_datetime.now(),
            ),
            object=zkn_factory['MaakZaakdocument-EDC-kennisgeving'](**{
                'entiteittype': 'EDC',
                'verwerkingssoort': 'T',
                'identificatie': '12345ABC',
                'dct.omschrijving': self.iot.informatieobjecttypeomschrijving,
                'creatiedatum': today,
                'ontvangstdatum': today,
                'titel': 'To be Everywhere is to be Nowhere',
                'beschrijving': '2016 album',
                'formaat': 'CD',
                'taal': 'Engels',
                'versie': '1',
                'status': 'Gepubliceerd',
                'verzenddatum': today,
                'vertrouwelijkAanduiding': 'OPENBAAR',
                'auteur': 'Thrice',
                # 'link': ''
                'inhoud': stuf_factory.BinaireInhoud(
                    b'',
                    bestandsnaam='to_be_everywhere.flac',
                    contentType='audio/flac',
                ),
                # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid(
                #     beginGeldigheid=today,
                # ),
                # 'tijdstipRegistratie': '',
                # 'extraElementend': None,
                'isRelevantVoor': zkn_factory['EDCZAK-kennisgeving'](
                    entiteittype='EDCZAK',
                    verwerkingssoort='T',
                    gerelateerde=zkn_factory['ZAK-kerngegevensKennisgeving'](
                        entiteittype='ZAK',
                        verwerkingssoort='I',
                        identificatie=zaak.zaakidentificatie,
                        omschrijving=zaak.omschrijving,
                        # isVan=None
                    ),
                    # titel
                    # beschrijving
                    # registratiedatum
                    # stt.volgnummer
                    # stt.omschrijving
                    # sta.datumStatusGezet
                    # tijdvakRelatie
                    # tijdvakGeldigheid
                    # tijdstipRegistratie
                    # extraElementen
                )
            })
        )

        self.assertIsNotNone(response)
        self.assertEquals(EnkelvoudigInformatieObject.objects.count(), 1)
        zaakdocument = ZaakInformatieObject.objects.get()
        self.assertEquals(zaakdocument.zaak, zaak)
        self.assertIsNotNone(zaakdocument.informatieobject)
コード例 #10
0
    def test_zs_dms_interaction2_no_inhoud(self):
        """
        Het ZS maakt gebruik van de CMIS-documentservices om de wijzigingen met
        het DMS te synchroniseren.

        Het ZS zorgt ervoor dat het document dat is aangeboden door de DSC
        wordt vastgelegd in het DMS. Hiervoor maakt het ZS gebruik van de
        CMIS-services die aangeboden worden door het DMS. Hierbij gelden de
        volgende eisen:

        * Het document wordt gerelateerd aan de juiste Zaakfolder (Zie 5.1)
        * Het document wordt opgeslagen als objecttype EDC (Zie 5.2)
        * Minimaal de vereiste metadata voor een EDC wordt vastgelegd in de
          daarvoor gedefinieerde objectproperties. In Tabel 3 is een mapping
          aangegeven tussen de StUF-ZKN-elementen en CMIS-objectproperties.
        """
        self._dms_client.geef_inhoud.return_value = ('doc 1', BytesIO())

        zaak = ZaakFactory.create(status_set__indicatie_laatst_gezette_status=JaNee.ja)
        client = self._get_client('OntvangAsynchroon')
        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(client)
        today = date.today().strftime('%Y%m%d')

        response = client.service.maakZaakdocument_EdcLk01(
            parameters=stuf_factory['ParametersLk01'](
                indicatorOvername='V',
                mutatiesoort='T',
            ),
            stuurgegevens=stuf_factory['EDC-StuurgegevensLk01'](
                berichtcode='Lk01',
                entiteittype='EDC',
                zender=self.zender,
                ontvanger=self.ontvanger,
                referentienummer='1234',
                tijdstipBericht=stuf_datetime.now(),
            ),
            object=zkn_factory['MaakZaakdocument-EDC-kennisgeving'](**{
                'entiteittype': 'EDC',
                'verwerkingssoort': 'T',
                'identificatie': '12345ABC',
                'dct.omschrijving': self.iot.informatieobjecttypeomschrijving,
                'creatiedatum': today,
                'ontvangstdatum': today,
                'titel': 'To be Everywhere is to be Nowhere',
                'beschrijving': '2016 album',
                'formaat': 'CD',
                'taal': 'Engels',
                'versie': '1',
                'status': 'Gepubliceerd',
                'verzenddatum': today,
                'vertrouwelijkAanduiding': 'OPENBAAR',
                'auteur': 'Thrice',
                # 'link': ''
                # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid(
                #     beginGeldigheid=today,
                # ),
                # 'tijdstipRegistratie': '',
                # 'extraElementend': None,
                'isRelevantVoor': zkn_factory['EDCZAK-kennisgeving'](
                    entiteittype='EDCZAK',
                    verwerkingssoort='T',
                    gerelateerde=zkn_factory['ZAK-kerngegevensKennisgeving'](
                        entiteittype='ZAK',
                        verwerkingssoort='I',
                        identificatie=zaak.zaakidentificatie,
                        omschrijving=zaak.omschrijving,
                        # isVan=None
                    ),
                    # titel
                    # beschrijving
                    # registratiedatum
                    # stt.volgnummer
                    # stt.omschrijving
                    # sta.datumStatusGezet
                    # tijdvakRelatie
                    # tijdvakGeldigheid
                    # tijdstipRegistratie
                    # extraElementen
                )
            })
        )

        self.assertIsNotNone(response)
        # assert that the correct DMS client calls were made
        document = EnkelvoudigInformatieObject.objects.get()

        # the document should have been registered in the DMS
        self._service_dms_client.maak_zaakdocument.assert_called_once_with(
            document, filename=None, sender='*****@*****.**')

        # the document should have been moved to the correct folder
        self._service_dms_client.relateer_aan_zaak.assert_called_once_with(document, zaak)
    def test_upload_large_file(self):
        """
        See: https://taiga.maykinmedia.nl/project/haarlem-zaakmagazijn/issue/387
        """

        self.iot = InformatieObjectTypeFactory.create()
        self.zender = {
            'organisatie': 'Maykin Media',
            'applicatie': 'Test',
            'administratie': '',
            'gebruiker': '',
        }
        self.ontvanger = {
            'organisatie': 'Maykin Media',
            'applicatie': 'TTA',
            'administratie': '',
            'gebruiker': '',
        }
        client = self._get_client('OntvangAsynchroon')

        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(client)
        today = date.today().strftime('%Y%m%d')

        stuurgegevens = stuf_factory['EDC-StuurgegevensLk01'](
            berichtcode='Lk01',
            entiteittype='EDC',
            zender=self.zender,
            ontvanger=self.ontvanger,
            referentienummer='1234',
            tijdstipBericht=stuf_datetime.now(),
        )

        # Note that the content is base64 encoded twice, and thus increases in size
        # when encoded.
        big_ass_file = b'a' * 3 * 1024**2 # 22MB
        name = '{}.flac'.format(int(time.time()))

        inhoud = stuf_factory.BinaireInhoud(
            big_ass_file,
            bestandsnaam=name,
            contentType='audio/flac',
        )
        response = client.service.voegZaakdocumentToe_EdcLk01(
            parameters=stuf_factory['ParametersLk01'](
                indicatorOvername='V',
                mutatiesoort='T',
            ),
            stuurgegevens=stuurgegevens,
            object=zkn_factory['VoegZaakdocumentToe-EDC-kennisgeving'](**{
                'entiteittype': 'EDC',
                'verwerkingssoort': 'T',
                'identificatie': '12345ABC{}'.format(int(time.time())),
                'dct.omschrijving': self.iot.informatieobjecttypeomschrijving,
                'creatiedatum': today,
                'ontvangstdatum': today,
                'titel': 'To be Everywhere {}'.format(int(time.time())),
                'beschrijving': '2016 album',
                'formaat': 'CD',
                'taal': 'Engels',
                'versie': '1',
                'status': 'Gepubliceerd',
                'verzenddatum': today,
                'vertrouwelijkAanduiding': 'OPENBAAR',
                'auteur': 'Thrice',
                # 'link': ''
                'inhoud': inhoud,
                # 'tijdvakGeldigheid': stuf_factory.tijdvakGeldigheid(
                #     beginGeldigheid=today,
                # ),
                # 'tijdstipRegistratie': '',
                # 'extraElementend': None,
                'isRelevantVoor': [zkn_factory['VoegZaakdocumentToe-EDCZAK-kennisgeving'](
                    entiteittype='EDCZAK',
                    verwerkingssoort='T',
                    gerelateerde=zkn_factory['VoegZaakdocumentToe-ZAK-kerngegevensKennisgeving'](
                        entiteittype='ZAK',
                        verwerkingssoort='I',
                        identificatie=self.zaak.zaakidentificatie,
                        omschrijving=self.zaak.omschrijving,
                        # isVan=None
                    ),
                    # titel
                    # beschrijving
                    # registratiedatum
                    # stt.volgnummer
                    # stt.omschrijving
                    # sta.datumStatusGezet
                    # tijdvakRelatie
                    # tijdvakGeldigheid
                    # tijdstipRegistratie
                    # extraElementen
                )]
            })
        )
コード例 #12
0
    def test_create(self):
        client = self._get_client('OntvangAsynchroon')
        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(
            client)

        status = StatusFactory.create(indicatie_laatst_gezette_status=JaNee.ja)
        zaak = status.zaak
        zio = ZaakInformatieObjectFactory.create(zaak=zaak, status=status)
        edc = zio.informatieobject
        bst = BesluitTypeFactory.create(besluittypeomschrijving='omschrijving')

        today = time.strftime('%Y%m%d')

        self.assertEquals(Besluit.objects.all().count(), 0)

        zender = {
            'organisatie': 'Maykin Media',
            'applicatie': 'Test',
            'administratie': 'Support',
            'gebruiker': '*****@*****.**',
        }

        response = client.service.voegBesluitToe_Di01(
            stuurgegevens=stuf_factory['Di01-Stuurgegevens-vbt'](
                berichtcode='Di01',
                zender=zender,
                ontvanger=settings.ZAAKMAGAZIJN_SYSTEEM,
                referentienummer='1234',
                tijdstipBericht=stuf_datetime.now(),
                functie='voegBesluitToe',
            ),
            object=zkn_factory['VoegBesluitToe_object']
            (besluit=zkn_factory['VoegBesluitToe-BSL-kennisgeving'](**{
                'entiteittype':
                'BSL',
                'verwerkingssoort':
                'T',
                'identificatie':
                '12345ABC',
                'bst.omschrijving':
                bst.besluittypeomschrijving,
                'datumBeslissing':
                today,
                'ingangsdatumWerking':
                today,
                'tijdvakGeldigheid':
                stuf_factory.TijdvakGeldigheid(beginGeldigheid=today, ),
                'isVastgelegdIn':
                zkn_factory['VoegBesluitToe-BSLEDC-kennisgeving'](
                    entiteittype='BSLEDC',
                    verwerkingssoort='T',
                    gerelateerde=zkn_factory[
                        'VoegBesluitToe-EDC-kerngegevensKennisgeving'](
                            entiteittype='EDC',
                            verwerkingssoort='I',
                            identificatie=edc.informatieobjectidentificatie))
            }),
             zaak=zkn_factory['VoegBesluitToe_ZAK-kerngegevensKennisgeving'](
                 entiteittype='ZAK',
                 verwerkingssoort='I',
                 identificatie=zaak.zaakidentificatie,
             )))
        self.assertEquals(zaak.besluit_set.count(), 1)

        besluit = zaak.besluit_set.get()
        self.assertEquals(besluit.besluitidentificatie, '12345ABC')
        self.assertEquals(besluit.ingangsdatum, today)
        self.assertEquals(besluit.besluittype, bst)
        self.assertEquals(besluit.informatieobject.get(),
                          edc.informatieobject_ptr)
コード例 #13
0
    def test_create(self):
        client = self._get_client('OntvangAsynchroon')
        stuf_factory, zkn_factory, zds_factory = self._get_type_factories(client)

        status = StatusFactory.create(indicatie_laatst_gezette_status=JaNee.ja)
        zaak = status.zaak
        zio = ZaakInformatieObjectFactory.create(zaak=zaak, status=status)
        edc = zio.informatieobject
        bst = BesluitTypeFactory.create(besluittypeomschrijving='omschrijving')

        today = time.strftime('%Y%m%d')

        self.assertEquals(Besluit.objects.all().count(), 0)

        zender = {
            'organisatie': 'Maykin Media',
            'applicatie': 'Test',
            'administratie': 'Support',
            'gebruiker': '*****@*****.**',
        }

        response = client.service.voegBesluitToe_Di01(
            stuurgegevens=stuf_factory['Di01-Stuurgegevens-vbt'](
                berichtcode='Di01',
                zender=zender,
                ontvanger=settings.ZAAKMAGAZIJN_SYSTEEM,
                referentienummer='1234',
                tijdstipBericht=stuf_datetime.now(),
                functie='voegBesluitToe',
            ),
            object=zkn_factory['VoegBesluitToe_object'](
                besluit=zkn_factory['VoegBesluitToe-BSL-kennisgeving'](**{
                    'entiteittype': 'BSL',
                    'verwerkingssoort': 'T',
                    'identificatie': '12345ABC',
                    'bst.omschrijving': bst.besluittypeomschrijving,
                    'datumBeslissing': today,
                    'ingangsdatumWerking': today,
                    'tijdvakGeldigheid': stuf_factory.TijdvakGeldigheid(
                        beginGeldigheid=today,
                    ),
                    'isVastgelegdIn': zkn_factory['VoegBesluitToe-BSLEDC-kennisgeving'](
                        entiteittype='BSLEDC',
                        verwerkingssoort='T',
                        gerelateerde=zkn_factory['VoegBesluitToe-EDC-kerngegevensKennisgeving'](
                            entiteittype='EDC',
                            verwerkingssoort='I',
                            identificatie=edc.informatieobjectidentificatie
                        )
                    )
                }),
                zaak=zkn_factory['VoegBesluitToe_ZAK-kerngegevensKennisgeving'](
                    entiteittype='ZAK',
                    verwerkingssoort='I',
                    identificatie=zaak.zaakidentificatie,
                )
            )
        )
        self.assertEquals(zaak.besluit_set.count(), 1)

        besluit = zaak.besluit_set.get()
        self.assertEquals(besluit.besluitidentificatie, '12345ABC')
        self.assertEquals(besluit.ingangsdatum, today)
        self.assertEquals(besluit.besluittype, bst)
        self.assertEquals(besluit.informatieobject.get(), edc.informatieobject_ptr)