Skip to content

Commit

Permalink
Merge branch 'a312620117236937_block_cpv'
Browse files Browse the repository at this point in the history
  • Loading branch information
kroman0 committed Jun 1, 2017
2 parents 22a2d9c + 1c2c7e5 commit 5d9f17e
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
36 changes: 35 additions & 1 deletion openprocurement/tender/competitivedialogue/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
chronograph_role, chronograph_view_role, ProcuringEntity as BaseProcuringEntity,
Administrator_role, schematics_default_role,
schematics_embedded_role, ListType, BooleanType,
Value as BaseValue
Value as BaseValue, CPVClassification as BaseCPVClassification,
)
from schematics.transforms import whitelist, blacklist
from openprocurement.tender.competitivedialogue.utils import (validate_features_custom_weight)
Expand Down Expand Up @@ -381,11 +381,19 @@ class Options:
LotStage2EU = Lot


class CPVClassification(BaseCPVClassification):

def validate_scheme(self, data, scheme):
pass


class Item(BaseEUItem):

class Options:
roles = {'edit_active.tendering': whitelist('deliveryDate')}

classification = ModelType(CPVClassification, required=True)


ItemStage2EU = Item

Expand All @@ -395,10 +403,22 @@ class Item(BaseUAItem):
class Options:
roles = {'edit_active.tendering': whitelist('deliveryDate')}

classification = ModelType(CPVClassification, required=True)


ItemStage2UA = Item


class Award(BaseTenderEU.awards.model_class):

items = ListType(ModelType(ItemStage2EU))


class Contract(BaseTenderEU.contracts.model_class):

items = ListType(ModelType(ItemStage2EU))


@implementer(ITender)
class Tender(BaseTenderEU):
procurementMethodType = StringType(default=STAGE_2_EU_TYPE)
Expand All @@ -418,6 +438,8 @@ class Tender(BaseTenderEU):
# The goods and services to be purchased, broken into line items wherever possible. Items should not be duplicated, but a quantity of 2 specified instead.
items = ListType(ModelType(ItemStage2EU), required=True, min_size=1, validators=[validate_cpv_group,
validate_items_uniq])
awards = ListType(ModelType(Award), default=list())
contracts = ListType(ModelType(Contract), default=list())
features = ListType(ModelType(Feature), validators=[validate_features_uniq])

create_accreditation = 'c'
Expand All @@ -438,6 +460,16 @@ def initialize(self):
TenderStage2EU = Tender


class Award(BaseTenderUA.awards.model_class):

items = ListType(ModelType(ItemStage2UA))


class Contract(BaseTenderUA.contracts.model_class):

items = ListType(ModelType(ItemStage2UA))


@implementer(ITender)
class Tender(BaseTenderUA):
procurementMethodType = StringType(default=STAGE_2_UA_TYPE)
Expand All @@ -454,6 +486,8 @@ class Tender(BaseTenderUA):
lots = ListType(ModelType(LotStage2UA), default=list(), validators=[validate_lots_uniq])
items = ListType(ModelType(ItemStage2UA), required=True, min_size=1, validators=[validate_cpv_group,
validate_items_uniq])
awards = ListType(ModelType(Award), default=list())
contracts = ListType(ModelType(Contract), default=list())
features = ListType(ModelType(Feature), validators=[validate_features_uniq])
procurementMethod = StringType(choices=['open', 'selective', 'limited'], default='selective')

Expand Down
2 changes: 2 additions & 0 deletions openprocurement/tender/competitivedialogue/tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@
test_tender_stage2_data_eu["tenderPeriod"]["endDate"] = (now + timedelta(days=31)).isoformat()
test_tender_stage2_data_ua["dialogueID"] = uuid4().hex
test_tender_stage2_data_eu["dialogueID"] = uuid4().hex
test_tender_stage2_data_ua["items"][0]["classification"]["scheme"] = "CPV"
test_tender_stage2_data_eu["items"][0]["classification"]["scheme"] = "CPV"

test_lots = [
{
Expand Down

0 comments on commit 5d9f17e

Please sign in to comment.