Exemple #1
0
def transport_bordereau_bp_signed(obj: TransportBordereau) -> bool:
    if obj.copies.all().filter(state=STATE_PRESENT).count() != obj.copies.all().count():
        return False
    obj.step = TransportBordereau.TB_SENT
    obj.save()
    obj.copies.all().filter(state=STATE_PRESENT).update(state=STATE_TRANSPORT)
    return True
Exemple #2
0
def transport_bordereau_b_signed(obj: TransportBordereau) -> bool:
    if obj.copies.all().filter(state=STATE_TRANSPORT).count() != obj.copies.all().count():
        return False
    obj.step = TransportBordereau.TB_VALIDATED
    obj.save()
    obj.copies.all().filter(state=STATE_TRANSPORT).update(state=STATE_ABSENT, location=obj.destination, owner=obj.owner)
    return True
Exemple #3
0
def transport_bordereau_create(copies) -> TransportBordereau:
    copies = [x for x in copies if x.state == STATE_PRESENT]
    if not copies:
        return None
    count = RecordNumbers.get_next_record('transport')
    record_number = '%s/TB/%s' % (settings.RECORD_PREFIX, count)
    code_1d = '%s%05d%07d' % (TransportBordereau.PREFIX_1D, settings.EAN13_IDENTIFIER, count)
    obj = TransportBordereau(step=TransportBordereau.TB_WAITING,
                             emission_date=datetime.datetime.now(tz=utc),
                             ministry=settings.MINISTRY, organization=settings.ORGANIZATION, location=settings.LOCATION,
                             record_number=record_number, self_issued=True, code_1d=code_1d,
                             signature=get_signature(record_number))
    obj.save()
    obj.copies.add(*copies)
    return obj
Exemple #4
0
def transport_bordereau_a_signed(obj: TransportBordereau) -> bool:
    obj.step = TransportBordereau.TB_RECEIVED
    obj.save()
    obj.copies.all().update(state=STATE_PRESENT, location=obj.destination, owner=obj.owner)
    return True