Пример #1
0
    def binding(self):
        """Return XML binding"""
        os = arelda.ordnungssystemGeverSIP()
        os.name = self.obj.Title()

        if self.obj.version:
            os.generation = self.obj.version

        if self.obj.valid_from or self.obj.valid_until:
            os.anwendungszeitraum = arelda.historischerZeitraum()
            if self.obj.valid_from:
                os.anwendungszeitraum.von = arelda.historischerZeitpunkt(
                    self.obj.valid_from)
            else:
                os.anwendungszeitraum.von = NOT_SPECIFIED
            if self.obj.valid_until:
                os.anwendungszeitraum.bis = arelda.historischerZeitpunkt(
                    self.obj.valid_until)
            else:
                os.anwendungszeitraum.bis = NOT_SPECIFIED

        for pos in self.positions.values():
            os.ordnungssystemposition.append(pos.binding())

        return os
Пример #2
0
    def binding(self):
        dokument = arelda.dokumentGeverSIP(id=u'_{}'.format(self.obj.UID()))
        dokument.titel = self.obj.Title().decode('utf8')

        md = IDocumentMetadata(self.obj)
        if md.document_author:
            dokument.autor.append(md.document_author)

        if self.obj.digitally_available:
            dokument.erscheinungsform = u'digital'
        else:
            dokument.erscheinungsform = u'nicht digital'

        dokument.dokumenttyp = voc_term_title(
            IDocumentMetadata['document_type'], md.document_type)

        dokument.registrierdatum = arelda.historischerZeitpunkt(
            self.obj.created().asdatetime().date())

        dokument.entstehungszeitraum = arelda.historischerZeitraum()
        dokument.entstehungszeitraum.von = arelda.historischerZeitpunkt(
            self.obj.created().asdatetime().date())
        dokument.entstehungszeitraum.bis = arelda.historischerZeitpunkt(
            self.obj.modified().asdatetime().date())

        set_classification_attributes(dokument, self.obj)

        if self.file_ref:
            dokument.dateiRef.append(self.file_ref)

        return dokument
Пример #3
0
    def binding(self):
        dossier = arelda.dossierGeverSIP(id=u'_{}'.format(self.obj.UID()))
        dossier.titel = self.obj.Title().decode('utf8')

        dossier.entstehungszeitraum = arelda.historischerZeitraum()
        catalog = getToolByName(self.obj, 'portal_catalog')
        oldest_docs = catalog(
            portal_type=self.document_types,
            path='/'.join(self.obj.getPhysicalPath()),
            sort_on='created',
            sort_order='ascending',
            sort_limit=1)
        if oldest_docs:
            dossier.entstehungszeitraum.von = arelda.historischerZeitpunkt(
                oldest_docs[0].created.asdatetime().date())
        else:
            dossier.entstehungszeitraum.von = NOT_SPECIFIED
        latest_docs = catalog(
            portal_type=self.document_types,
            path='/'.join(self.obj.getPhysicalPath()),
            sort_on='modified',
            sort_order='descending',
            sort_limit=1)
        if oldest_docs:
            dossier.entstehungszeitraum.bis = arelda.historischerZeitpunkt(
                latest_docs[0].modified.asdatetime().date())
        else:
            dossier.entstehungszeitraum.bis = NOT_SPECIFIED

        set_classification_attributes(dossier, self.obj)

        dossier.aktenzeichen = IReferenceNumber(self.obj).get_number()

        dossier_obj = IDossier(self.obj)
        if dossier_obj.start:
            dossier.eroeffnungsdatum = arelda.historischerZeitpunkt(
                dossier_obj.start)
        if dossier_obj.end:
            dossier.abschlussdatum = arelda.historischerZeitpunkt(
                dossier_obj.end)

        dossier.schutzfrist = unicode(ILifeCycle(self.obj).custody_period)

        for d in self.dossiers.values():
            dossier.dossier.append(d.binding())

        for doc in self.documents.values():
            dossier.dokument.append(doc.binding())

        return dossier