示例#1
0
def get_status_actions(data_type):
    """
    Return a state machine handling the basic states

    :param str data_type: estimation/invoice/cancelinvoice

    :returns: An action manager machine that can be used to perform state changes
    :rtype: class:`autonomie.models.action_manager.ActionManager`
    """
    manager = ActionManager()
    for status, icon, label, title, css in (
        (
            'valid',
            "ok-sign",
            u"Valider",
            u"Valider ce document (il ne pourra plus être modifié)",
            "btn btn-primary primary-action",
        ),
        (
            'wait',
            'time',
            u"Demander la validation",
            u"Enregistrer ce document et en demander la validation",
            "btn btn-primary primary-action",
        ),
        (
            'invalid',
            'trash',
            u"Invalider",
            u"Invalider ce document afin que l'entrepreneur le corrige",
            "btn btn-default",
        ),
        (
            'draft',
            'save',
            u"Enregistrer",
            u'Enregistrer en brouillon afin de modifier ce document '
            u'ultérieurement',
            'btn btn-default',
        ),
    ):
        action = Action(
            status,
            '%s.%s' % (status, data_type),
            status_attr='status',
            userid_attr='status_person_id',
            icon=icon,
            label=label,
            title=title,
            css=css,
        )
        if status == 'valid':
            if data_type in ('invoice', 'cancelinvoice'):
                action.callback = invoice_valid_callback
            else:
                action.callback = estimation_valid_callback

        manager.add(action)
    return manager
示例#2
0
def get_status_actions(data_type):
    """
    Return a state machine handling the basic states

    :param str data_type: estimation/invoice/cancelinvoice

    :returns: An action manager machine that can be used to perform state changes
    :rtype: class:`autonomie.models.action_manager.ActionManager`
    """
    manager = ActionManager()
    for status, icon, label, title, css in (
        (
            'valid', "ok-sign",
            u"Valider",
            u"Valider ce document (il ne pourra plus être modifié)",
            "btn btn-primary primary-action",
        ),
        (
            'wait',
            'time',
            u"Demander la validation",
            u"Enregistrer ce document et en demander la validation",
            "btn btn-primary primary-action",
        ),
        (
            'invalid',
            'trash',
            u"Invalider",
            u"Invalider ce document afin que l'entrepreneur le corrige",
            "btn btn-default",
        ),
        (
            'draft',
            'save',
            u"Enregistrer",
            u'Enregistrer en brouillon afin de modifier ce document '
            u'ultérieurement',
            'btn btn-default',
        ),
    ):
        action = Action(
            status,
            '%s.%s' % (status, data_type),
            status_attr='status',
            userid_attr='status_person_id',
            icon=icon,
            label=label,
            title=title,
            css=css,
        )
        if status == 'valid':
            if data_type in ('invoice', 'cancelinvoice'):
                action.callback = invoice_valid_callback
            else:
                action.callback = estimation_valid_callback

        manager.add(action)
    return manager
示例#3
0
文件: sheet.py 项目: lluc/autonomie
def _build_justified_state_manager():
    """
    Return a state manager for setting the justified status attribute on
    ExpenseSheet objects
    """
    manager = ActionManager()
    for status, icon, label, title, css in (
        (
            False,
            'fa fa-clock-o',
            u"En attente",
            u"Aucun justificatif n'a été reçu",
            "btn btn-default",
        ),
        (
            True,
            'fa fa-check',
            u"Reçus",
            u"Les justificatifs ont bien été reçus",
            "btn btn-default",
        ),
    ):
        action = Action(
            status,
            'set_justified.expensesheet',
            status_attr='justified',
            icon=icon,
            label=label,
            title=title,
            css=css,
        )
        manager.add(action)
    return manager
示例#4
0
文件: sheet.py 项目: lluc/autonomie
def _build_action_manager():
    """
    Return a state machine that allows ExpenseSheet status handling
    """
    manager = ActionManager()
    for status, icon, label, title, css in (
        (
            'valid',
            "ok-sign",
            u"Valider",
            u"Valider ce document (il ne pourra plus être modifié)",
            "btn btn-primary primary-action",
        ),
        (
            'wait',
            'time',
            u"Demander la validation",
            u"Enregistrer ce document et en demander la validation",
            "btn btn-primary primary-action",
        ),
        (
            'invalid',
            'trash',
            u"Invalider",
            u"Invalider ce document afin que l'entrepreneur le corrige",
            "btn btn-default",
        ),
        (
            'draft',
            'save',
            u"Enregistrer",
            u'Enregistrer en brouillon afin de modifier ce document '
            u'ultérieurement',
            'btn btn-default',
        ),
    ):
        action = Action(
            status,
            '%s.expensesheet' % (status, ),
            status_attr='status',
            userid_attr='status_user_id',
            icon=icon,
            label=label,
            title=title,
            css=css,
        )
        manager.add(action)

    return manager
示例#5
0
def get_signed_status_actions():
    """
    Return actions available for setting the signed_status attribute on
    Estimation objects
    """
    manager = ActionManager()
    for status, icon, label, title, css in (
        ('waiting', 'time', u"En attente de réponse",
         u"En attente de réponse du client", "btn btn-default"),
        (
            "sent",
            "send",
            u"Envoyé au client",
            u"A bien été envoyé au client",
            "btn btn-default",
        ),
        (
            'aborted',
            'trash',
            u"Sans suite",
            u"Marquer sans suite",
            "btn btn-default",
        ),
        (
            'signed',
            'ok',
            u"Signé par le client",
            u"Indiquer que le client a passé commande",
            "btn btn-default",
        ),
    ):
        action = Action(
            status,
            'set_signed_status.estimation',
            status_attr='signed_status',
            icon=icon,
            label=label,
            title=title,
            css=css,
        )
        manager.add(action)
    return manager