コード例 #1
0
def save_contract(request):
    """ Save contract object to database
    :param request:
    :return: True if Ok
    """
    contract = request.validated['contract']

    if contract.mode == u'test':
        set_modetest_titles(contract)
    patch = get_revision_changes(contract.serialize("plain"),
                                 request.validated['contract_src'])
    if patch:
        contract.revisions.append(
            Revision({'author': request.authenticated_userid,
                      'changes': patch, 'rev': contract.rev}))
        old_date_modified = contract.dateModified
        contract.dateModified = get_now()
        try:
            contract.store(request.registry.db)
        except ModelValidationError, e:  # pragma: no cover
            for i in e.message:
                request.errors.add('body', i, e.message[i])
            request.errors.status = 422
        except Exception, e:  # pragma: no cover
            request.errors.add('body', 'data', str(e))
コード例 #2
0
def save_plan(request):
    """ Save plan object to database
    :param request:
    :return: True if Ok
    """
    plan = request.validated['plan']
    patch = get_revision_changes(plan.serialize("plain"),
                                 request.validated['plan_src'])
    if patch:
        plan.revisions.append(
            Revision({
                'author': request.authenticated_userid,
                'changes': patch,
                'rev': plan.rev
            }))
        old_date_modified = plan.dateModified
        plan.dateModified = get_now()
        try:
            plan.store(request.registry.db)
        except ModelValidationError, e:  # pragma: no cover
            for i in e.message:
                request.errors.add('body', i, e.message[i])
            request.errors.status = 422
        except Exception, e:  # pragma: no cover
            request.errors.add('body', 'data', str(e))
コード例 #3
0
def append_revision(request, obj, patch):
    from openprocurement.api.models import Revision
    revision_data = {
        "author": request.authenticated_userid,
        "changes": patch,
        "rev": obj.rev
    }
    obj.revisions.append(Revision(revision_data).serialize())
    return obj.revisions
コード例 #4
0
def save_tender(tender, src, request):
    if src:
        patch = get_revision_changes(tender.serialize("plain"), src)
        if patch:
            tender.revisions.append(Revision({'changes': patch}))
    else:
        patch = True
    if patch:
        try:
            tender.store(request.registry.db)
        except Exception, e:
            request.errors.add('body', 'data', str(e))
コード例 #5
0
ファイル: utils.py プロジェクト: dvlsoft/openprocurement.api
def save_tender(request):
    tender = request.validated['tender']
    if tender.mode == u'test':
        set_modetest_titles(tender)
    patch = get_revision_changes(tender.serialize("plain"), request.validated['tender_src'])
    if patch:
        tender.revisions.append(Revision({'author': request.authenticated_userid, 'changes': patch}))
        old_dateModified = tender.dateModified
        tender.dateModified = get_now()
        try:
            tender.store(request.registry.db)
        except ModelValidationError, e:
            for i in e.message:
                request.errors.add('body', i, e.message[i])
            request.errors.status = 422
        except Exception, e:  # pragma: no cover
            request.errors.add('body', 'data', str(e))
コード例 #6
0
def save_monitor(request):
    monitor = request.validated['monitor']
    patch = get_revision_changes(monitor.serialize("plain"),
                                 request.validated['monitor_src'])
    if patch:
        monitor.revisions.append(
            Revision({
                'author': request.authenticated_userid,
                'changes': patch,
                'rev': monitor.rev
            }))
        old_date_modified = monitor.dateModified
        monitor.dateModified = get_now()
        try:
            monitor.store(request.registry.db)
        except ModelValidationError, e:  # pragma: no cover
            for i in e.message:
                request.errors.add('body', i, e.message[i])
            request.errors.status = 422
        except Exception, e:  # pragma: no cover
            request.errors.add('body', 'data', str(e))