Skip to content

Commit

Permalink
feat: Add coherent.release_date check
Browse files Browse the repository at this point in the history
  • Loading branch information
jpmckinney committed Jun 25, 2024
1 parent a17342d commit 2ce8c47
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 8 deletions.
52 changes: 52 additions & 0 deletions contracting_process/resource_level/coherent/release_date.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
"""
.. seealso::
:func:`pelican.util.checks.coherent_dates_check
"""

from pelican.util.checks import coherent_dates_check
from pelican.util.getter import get_values

version = 1.0


def calculate(item):
first_dates = []

for first_path in (
# amendments_dates
"tender.amendments.date",
"awards.amendments.date",
"contracts.amendments.date",
# dates
"awards.date",
"contracts.dateSigned",
"contracts.implementation.transactions.date",
# milestones_dates
"planning.milestones.dateModified",
"planning.milestones.dateMet",
"tender.milestones.dateModified",
"tender.milestones.dateMet",
"contracts.milestones.dateModified",
"contracts.milestones.dateMet",
"contracts.implementation.milestones.dateModified",
"contracts.implementation.milestones.dateMet",
# documents_dates
"planning.documents.datePublished",
"planning.documents.dateModified",
"tender.documents.datePublished",
"tender.documents.dateModified",
"awards.documents.datePublished",
"awards.documents.dateModified",
"contracts.documents.datePublished",
"contracts.documents.dateModified",
"contracts.implementation.documents.datePublished",
"contracts.implementation.documents.dateModified",
):
first_dates.extend(get_values(item, first_path))

second_dates = get_values(item, "date")

pairs = [(first_date, second_date) for first_date in first_dates for second_date in second_dates]

return coherent_dates_check(version, pairs)
21 changes: 13 additions & 8 deletions contracting_process/resource_level/definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
milestones_dates,
period,
procurement_method_vs_number_of_tenderers,
release_date,
tender_status,
value_realistic,
)
Expand All @@ -26,6 +27,7 @@
from contracting_process.resource_level.reference import contract_in_awards, parties

definitions = {
# Consistent
"consistent.number_of_tenderers": number_of_tenderers.calculate,
"consistent.tender_value": tender_value.calculate,
"consistent.contracts_value": contracts_value.calculate,
Expand Down Expand Up @@ -60,6 +62,7 @@
"consistent.payee_name_in_parties": functools.partial(
org_ref_name.calculate, path="contracts.implementation.transactions.payee"
),
# Reference
"reference.supplier_in_parties": functools.partial(parties.calculate_path, path="awards.suppliers"),
"reference.tenderer_in_parties": functools.partial(parties.calculate_path, path="tender.tenderers"),
"reference.buyer_in_parties": functools.partial(parties.calculate_path, path="buyer"),
Expand All @@ -71,15 +74,17 @@
parties.calculate_path, path="contracts.implementation.transactions.payee"
),
"reference.contract_in_awards": contract_in_awards.calculate,
"coherent.procurement_method_vs_number_of_tenderers": procurement_method_vs_number_of_tenderers.calculate,
"coherent.tender_status": tender_status.calculate,
"coherent.period": period.calculate,
"coherent.dates": dates.calculate,
"coherent.contracts_status": contracts_status.calculate,
"coherent.awards_status": awards_status.calculate,
"coherent.milestones_dates": milestones_dates.calculate,
"coherent.milestone_status": milestone_status.calculate,
# Coherent
"coherent.amendments_dates": amendments_dates.calculate,
"coherent.awards_status": awards_status.calculate,
"coherent.contracts_status": contracts_status.calculate,
"coherent.dates": dates.calculate,
"coherent.documents_dates": documents_dates.calculate,
"coherent.milestone_status": milestone_status.calculate,
"coherent.milestones_dates": milestones_dates.calculate,
"coherent.period": period.calculate,
"coherent.procurement_method_vs_number_of_tenderers": procurement_method_vs_number_of_tenderers.calculate,
"coherent.release_date": release_date.calculate,
"coherent.tender_status": tender_status.calculate,
"coherent.value_realistic": value_realistic.calculate,
}

0 comments on commit 2ce8c47

Please sign in to comment.