Odoo вернуть действие или предупреждение - PullRequest
0 голосов
/ 03 ноября 2018

Я использую Odoo10 и у меня установлены модуль членства и модуль посещаемости. Я хочу отсканировать штрих-код, но он должен проверить состояние членства, прежде чем продолжить. Код по умолчанию проверяет наличие действительного штрих-кода, поэтому я пытаюсь его скопировать.

Этот код odoo по умолчанию для проверки штрих-кода

@api.model
    def attendance_scan(self, barcode):
        """ Receive a barcode scanned from the Kiosk Mode and change the attendances of corresponding partner.
            Returns either an action or a warning.
        """
        partner = self.search([('barcode', '=', barcode)], limit=1)
        return partner and partner.attendance_action('base_attendance.hr_attendance_action_kiosk_mode') or \
            {'warning': _('No partner corresponding to barcode %(barcode)s') % {'barcode': barcode}}

Я хочу членство в штате = оплачено, поэтому я попытался

@api.model
    def attendance_scan(self, barcode):
        """ Receive a barcode scanned from the Kiosk Mode and change the attendances of corresponding partner.
            Returns either an action or a warning.
        """
        partner = self.search([('barcode', '=', barcode)], limit=1) and self.partner.membership_state = (self.paid)
        return partner and partner.attendance_action('base_attendance.hr_attendance_action_kiosk_mode') or \
            {'warning': _('No partner corresponding to barcode %(barcode)s') % {'barcode': barcode}}

Я получаю ошибку

partner = self.search([('barcode', '=', barcode)], limit=1) and self.partner.membership_state = (self.paid)
AttributeError: 'res.partner' object has no attribute 'partner'

members_state имеет несколько состояний, таких как нет, отменено, ожидает, выставлен счет и оплачен. Я просто нет не знаю, как назвать государство

1 Ответ

0 голосов
/ 03 ноября 2018

Я думаю, что ваш self сам по себе является рекордом партнера. Если да, то вам не нужно обращаться к partner из self (self.partner.membership_state).

Попробуйте это: self.membership_state

Если self - это другой объект, пожалуйста, опубликуйте также определение класса.

...