Skip to content

Commit

Permalink
Merge pull request #37 from gorserg/minimalStep_required
Browse files Browse the repository at this point in the history
minimalStep required
  • Loading branch information
kroman0 committed Jul 27, 2016
2 parents e5bcfed + 3bcdecf commit 446e431
Show file tree
Hide file tree
Showing 4 changed files with 197 additions and 157 deletions.
98 changes: 17 additions & 81 deletions openprocurement/tender/competitivedialogue/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,26 @@
edit_role_ua = edit_role + blacklist('enquiryPeriod', 'status')
edit_stage2_pending = whitelist('status')
edit_stage2_waiting = whitelist('status', 'stage2TenderID')
hide_minimal_step = blacklist('minimalStep')

roles = {
'plain': plain_role + hide_minimal_step,
'create': create_role + hide_minimal_step,
'view': view_role + hide_minimal_step,
'plain': plain_role,
'create': create_role,
'view': view_role,
'listing': listing_role,
'active.pre-qualification': pre_qualifications_role + hide_minimal_step,
'active.pre-qualification.stand-still': pre_qualifications_role + hide_minimal_step,
'active.stage2.pending': enquiries_role + hide_minimal_step,
'active.stage2.waiting': pre_qualifications_role + hide_minimal_step,
'active.pre-qualification': pre_qualifications_role,
'active.pre-qualification.stand-still': pre_qualifications_role,
'active.stage2.pending': enquiries_role,
'active.stage2.waiting': pre_qualifications_role,
'edit_active.stage2.pending': whitelist('status'),
'draft': enquiries_role + hide_minimal_step,
'active.tendering': enquiries_role + hide_minimal_step,
'complete': view_role + hide_minimal_step,
'unsuccessful': view_role + hide_minimal_step,
'cancelled': view_role + hide_minimal_step,
'draft': enquiries_role,
'active.tendering': enquiries_role,
'complete': view_role,
'unsuccessful': view_role,
'cancelled': view_role,
'chronograph': chronograph_role,
'chronograph_view': chronograph_view_role,
'Administrator': Administrator_role,
'default': schematics_default_role + hide_minimal_step,
'default': schematics_default_role,
'contracting': whitelist('doc_id', 'owner'),
'competitive_dialogue': edit_stage2_waiting
}
Expand Down Expand Up @@ -116,32 +115,16 @@ class Options:
documents = ListType(ModelType(Document), default=list())

lot_roles = {
'create': whitelist('id', 'title', 'title_en', 'title_ru', 'description', 'description_en', 'description_ru', 'value', 'guarantee'),
'edit': whitelist('title', 'title_en', 'title_ru', 'description', 'description_en', 'description_ru', 'value', 'guarantee'),
'create': whitelist('id', 'title', 'title_en', 'title_ru', 'description', 'description_en', 'description_ru', 'value', 'guarantee', 'minimalStep'),
'edit': whitelist('title', 'title_en', 'title_ru', 'description', 'description_en', 'description_ru', 'value', 'guarantee', 'minimalStep'),
'embedded': embedded_lot_role,
'view': default_lot_role + blacklist('minimalStep'),
'default': default_lot_role + blacklist('minimalStep'),
'view': default_lot_role,
'default': default_lot_role,
'chronograph': whitelist('id', 'auctionPeriod'),
'chronograph_view': whitelist('id', 'auctionPeriod', 'numberOfBids', 'status'),
}


class Lot(BaseLotEU):

minimalStep = ModelType(Value, required=False)

def validate_minimalStep(self, data, value):
if data.get('minimalStep'):
raise ValidationError(u"Rogue field")

@serializable(serialized_name="minimalStep", type=ModelType(Value), serialize_when_none=False)
def lot_minimalStep(self):
return None

class Options:
roles = lot_roles.copy()


@implementer(ITender)
class Tender(BaseTenderEU):
procurementMethodType = StringType(default=CD_EU_TYPE)
Expand All @@ -154,16 +137,6 @@ class Tender(BaseTenderEU):
filter_by='status', filter_in_values=['invalid', 'deleted'])
TenderID = StringType(required=False)
stage2TenderID = StringType(required=False)
minimalStep = ModelType(Value, required=False, serialize_when_none=False)
lots = ListType(ModelType(Lot), default=list(), validators=[validate_lots_uniq])

def validate_minimalStep(self, data, data_from_request):
if data.get('minimalStep'):
raise ValidationError(u"Rogue field")

@serializable(serialized_name="minimalStep", type=ModelType(Value), serialize_when_none = False)
def tender_minimalStep(self):
return None

class Options:
roles = roles.copy()
Expand Down Expand Up @@ -237,39 +210,6 @@ class Tender(CompetitiveDialogEU):

# stage 2 models

stage_2_lot_roles = {
'create': whitelist('id', 'title', 'title_en', 'title_ru', 'description', 'description_en', 'description_ru', 'value', 'guarantee', 'minimalStep'),
'edit': whitelist('title', 'title_en', 'title_ru', 'description', 'description_en', 'description_ru', 'guarantee', 'minimalStep'),
'embedded': embedded_lot_role,
'view': default_lot_role,
'default': default_lot_role,
'auction_view': default_lot_role,
'auction_patch': whitelist('id', 'auctionUrl'),
'chronograph': whitelist('id', 'auctionPeriod'),
'chronograph_view': whitelist('id', 'auctionPeriod', 'numberOfBids', 'status'),
}


class Lot(BaseLotEU):

minimalStep = ModelType(Value, required=True, default=Value({"amount": 0}))

class Options:
roles = stage_2_lot_roles.copy()


LotStage2EU = Lot


class Lot(BaseLotUa):

minimalStep = ModelType(Value, required=True, default=Value({"amount": 0}))

class Options:
roles = stage_2_lot_roles.copy()

LotStage2UA = Lot

hide_dialogue_token = blacklist('dialogue_token')
close_edit_technical_fields = blacklist('dialogue_token', 'shortlistedFirms', 'dialogueID', 'value', 'features')

Expand Down Expand Up @@ -351,8 +291,6 @@ class Tender(BaseTenderEU):
shortlistedFirms = ListType(ModelType(Firms), min_size=3, required=True)
tenderPeriod = ModelType(PeriodStartEndRequired, required=False,
default=init_PeriodStartEndRequired(TENDERING_DURATION_EU))
minimalStep = ModelType(Value, required=True, default=Value({'amount': 0}))
lots = ListType(ModelType(LotStage2EU), default=list(), validators=[validate_lots_uniq])
status = StringType(
choices=['draft', 'active.tendering', 'active.pre-qualification', 'active.pre-qualification.stand-still',
'active.auction', 'active.qualification', 'active.awarded', 'complete', 'cancelled',
Expand Down Expand Up @@ -381,8 +319,6 @@ class Tender(BaseTenderUA):
shortlistedFirms = ListType(ModelType(Firms), min_size=3, required=True)
tenderPeriod = ModelType(PeriodStartEndRequired, required=False,
default=init_PeriodStartEndRequired(TENDERING_DURATION_UA))
minimalStep = ModelType(Value, required=True, default=Value({'amount': 0}))
lots = ListType(ModelType(LotStage2UA), default=list(), validators=[validate_lots_uniq])
status = StringType(
choices=['draft', 'active.tendering', 'active.pre-qualification', 'active.pre-qualification.stand-still',
'active.auction', 'active.qualification', 'active.awarded', 'complete', 'cancelled',
Expand Down
5 changes: 2 additions & 3 deletions openprocurement/tender/competitivedialogue/tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@

now = datetime.now()
test_tender_data_eu = deepcopy(base_test_tender_data_eu)
del test_tender_data_eu["minimalStep"]
test_tender_data_eu["procurementMethodType"] = CD_EU_TYPE
test_tender_data_ua = deepcopy(base_test_tender_data_eu)
del test_tender_data_ua["title_en"]
del test_tender_data_ua["minimalStep"]
test_tender_data_ua["procurementMethodType"] = CD_UA_TYPE
test_tender_data_ua["tenderPeriod"]["endDate"] = (now + timedelta(days=31)).isoformat()

Expand Down Expand Up @@ -76,7 +74,8 @@
{
'title': 'lot title',
'description': 'lot description',
'value': test_tender_data_eu['value']
'value': test_tender_data_eu['value'],
'minimalStep': test_tender_data_eu['minimalStep'],
}
]

Expand Down

0 comments on commit 446e431

Please sign in to comment.