Exemplo n.º 1
0
def pi_allow_signature_actions(context):
    """allow/disallow other signature actions => such as withdraw and reject
    """
    validator = ISignatoriesValidator(context.item, None)
    return (validator and user_is_context_owner(context)
            and validator.documentSubmitted()
            and user_is_not_parent_document_owner(context))
Exemplo n.º 2
0
 def getMessage(self):
     """Check signatories validator and generate status message
     of the form {"level": <level> , "message_text": "<i18n_message>"}
     """
     message = {"level": "info", "message_text": u""}
     validator = ISignatoriesValidator(self.context, None)
     if validator is None:
         return message
     if validator.requireSignatures():
         if validator.validateConsentedSignatories():
             message["message_text"] = _("signature_requirement_met",
                 default=(u"This document has the required number of "
                     u"signatories. ${signed_members} member(s) have signed"
                     u". ${required_members} signature(s) required."
                 ),
                 mapping = {
                     "signed_members": validator.consented_signatories,
                     "required_members": validator.min_signatories
                 }
             )
         else:
             message["level"] = "warning"
             message["message_text"] = _("signature_requirements_not_met",
                     default=(u"This document does not have the required "
                         u"number of signatories. Requires "
                         u"${required_members} signature(s). " 
                         u"${signed_members} member(s) have signed."
                     ),
                     mapping={
                         "required_members": validator.min_signatories,
                         "signed_members": validator.consented_signatories
                     }
             )
     return message
Exemplo n.º 3
0
 def getMessage(self):
     """Check signatories validator and generate status message
     of the form {"level": <level> , "message_text": "<i18n_message>"}
     """
     message = {"level": "info", "message_text": u""}
     validator = ISignatoriesValidator(self.context, None)
     if validator is None:
         return message
     if validator.requireSignatures():
         if validator.validateConsentedSignatories():
             message["message_text"] = _(
                 "signature_requirement_met",
                 default=(
                     u"This document has the required number of "
                     u"signatories. ${signed_members} member(s) have signed"
                     u". ${required_members} signature(s) required."),
                 mapping={
                     "signed_members": validator.consented_signatories,
                     "required_members": validator.min_signatories
                 })
         else:
             message["level"] = "warning"
             message["message_text"] = _(
                 "signature_requirements_not_met",
                 default=(u"This document does not have the required "
                          u"number of signatories. Requires "
                          u"${required_members} signature(s). "
                          u"${signed_members} member(s) have signed."),
                 mapping={
                     "required_members": validator.min_signatories,
                     "signed_members": validator.consented_signatories
                 })
     return message
Exemplo n.º 4
0
def pi_allow_signature_actions(context):
    """allow/disallow other signature actions => such as withdraw and reject
    """
    validator = ISignatoriesValidator(context.item, None)
    return (validator and user_is_context_owner(context) 
        and validator.documentSubmitted()
        and user_is_not_parent_document_owner(context)
    )
Exemplo n.º 5
0
def pi_allow_signature(context):
    validator = ISignatoriesValidator(context.head, None)
    if validator is not None:
        return user_is_context_owner(context) and validator.allowSignature()
    return False
Exemplo n.º 6
0
def pi_document_redrafted(context):
    """Parent document has been redrafted"""
    validator = ISignatoriesValidator(context.head, None)
    return validator and validator.documentInDraft()
Exemplo n.º 7
0
def pi_signature_period_expired(context):
    """The document has been submitted"""
    validator = ISignatoriesValidator(context.head, None)
    if validator is not None:
        return validator.expireSignatures()
    return False
Exemplo n.º 8
0
def pi_signatories_check(context):
    validator = ISignatoriesValidator(context, None)
    if validator is not None:
        return validator.validateConsentedSignatories()
    return False
Exemplo n.º 9
0
def pi_has_signatories(context):
    validator = ISignatoriesValidator(context, None)
    if validator is not None:
        return validator.validateSignatories()
    return False
Exemplo n.º 10
0
def pi_allow_signature(context):
    validator = ISignatoriesValidator(context.item, None)
    if validator is not None:
        return user_is_context_owner(context) and validator.allowSignature()
    return False
Exemplo n.º 11
0
def pi_document_redrafted(context):
    """Parent document has been redrafted"""
    validator = ISignatoriesValidator(context.item, None)
    return validator and validator.documentInDraft()
Exemplo n.º 12
0
def pi_signature_period_expired(context):
    """The document has been submitted"""
    validator = ISignatoriesValidator(context.item, None)
    if validator is not None:
        return validator.expireSignatures()
    return False
Exemplo n.º 13
0
def pi_signatories_check(context):
    validator = ISignatoriesValidator(context, None)
    if validator is not None:
        return validator.validateConsentedSignatories()
    return False
Exemplo n.º 14
0
def pi_has_signatories(context):
    validator = ISignatoriesValidator(context, None)
    if validator is not None:
        return validator.validateSignatories()
    return False