Regulations

Business rules for regulations.

class regulations.business_rules.ROIMB1(transaction=None)[source]

The regulation id + role id must be unique.

exception Violation(model: common.models.trackedmodel.TrackedModel, message: Optional[str] = None)

The regulation id + role id must be unique.

class regulations.business_rules.ROIMB4(transaction=None)[source]

The referenced regulation group must exist.

exception Violation(model: common.models.trackedmodel.TrackedModel, message: Optional[str] = None)

The referenced regulation group must exist.

class regulations.business_rules.ROIMB44(transaction=None)[source]

The “Regulation Approved Flag” indicates for a draft regulation whether the draft is approved, i.e. the regulation is definitive apart from its publication (only the definitive regulation id and the O.J.

reference are not yet known). A draft regulation (regulation id starts with a ‘C’) can have its “Regulation Approved Flag” set to 0=’Not Approved’ or 1=’Approved’. Its flag can only change from 0=’Not Approved’ to 1=’Approved’. Any other regulation must have its “Regulation Approved Flag” set to 1=’Approved’.

exception Violation(model: common.models.trackedmodel.TrackedModel, message: Optional[str] = None)

The “Regulation Approved Flag” indicates for a draft regulation whether the draft is approved, i.e. the regulation is definitive apart from its publication (only the definitive regulation id and the O.J.

reference are not yet known). A draft regulation (regulation id starts with a ‘C’) can have its “Regulation Approved Flag” set to 0=’Not Approved’ or 1=’Approved’. Its flag can only change from 0=’Not Approved’ to 1=’Approved’. Any other regulation must have its “Regulation Approved Flag” set to 1=’Approved’.

validate(regulation)[source]

Perform business rule validation.

Raises

NotImplementedError – Must be overridden by subclasses

class regulations.business_rules.ROIMB46(transaction=None)[source]

A base regulation cannot be deleted if it is used as a justification regulation, except for ‘C’ regulations used only in measures as both measure-generating regulation and justification regulation.

exception Violation(model: common.models.trackedmodel.TrackedModel, message: Optional[str] = None)

A base regulation cannot be deleted if it is used as a justification regulation, except for ‘C’ regulations used only in measures as both measure-generating regulation and justification regulation.

class regulations.business_rules.ROIMB47(transaction=None)[source]

The validity period of the regulation group id must span the validity period of the base regulation.

exception Violation(model: common.models.trackedmodel.TrackedModel, message: Optional[str] = None)

The validity period of the regulation group id must span the validity period of the base regulation.

class regulations.business_rules.ROIMB8(transaction=None)[source]

Explicit dates of related measures must be within the validity period of the base regulation.

exception Violation(model: common.models.trackedmodel.TrackedModel, message: Optional[str] = None)

Explicit dates of related measures must be within the validity period of the base regulation.

validate(regulation)[source]

Perform business rule validation.

Raises

NotImplementedError – Must be overridden by subclasses