"""this contains the template-specific entities' classes"""

from cubes.expense.entities import Expense as BaseExpense, ExpenseLine as BaseExpenseLine

class Expense(BaseExpense):

    __rtags__ = {'spent_for' : 'primary'}
    widgets = {'spent_for' : 'RestrictedAutoCompletionWidget'}
    autocomplete_initfuncs = {'spent_for' : 'get_concerned_by'}
    

class ExpenseLine(BaseExpenseLine):

    __rtags__ = {
        'paid_by' : 'primary',
        }

    @property
    def workcase(self):
        rql = 'Any R WHERE E has_lines EL, EL eid %(el)s, E spent_for W, W ref R'
        rset = self.req.execute(rql, {'el': self.eid})
        if rset:
            return rset[0][0]
        return None