37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models, _
|
|
from odoo.addons.sms.tools.sms_api import ERROR_MESSAGES, SmsApi
|
|
from odoo.exceptions import ValidationError
|
|
|
|
|
|
class SMSAccountCode(models.TransientModel):
|
|
_name = 'sms.account.code'
|
|
_description = 'SMS Account Verification Code Wizard'
|
|
|
|
account_id = fields.Many2one('iap.account', required=True)
|
|
verification_code = fields.Char(required=True)
|
|
|
|
def action_register(self):
|
|
status = SmsApi(self.env, self.account_id)._verify_account(self.verification_code)['state']
|
|
if status != 'success':
|
|
raise ValidationError(ERROR_MESSAGES.get(status, ERROR_MESSAGES['unknown_error']))
|
|
|
|
self.account_id.state = "registered"
|
|
self.env['iap.account']._send_success_notification(
|
|
message=_("Your SMS account has been successfully registered."),
|
|
)
|
|
|
|
sender_name_wizard = self.env['sms.account.sender'].create({
|
|
'account_id': self.account_id.id,
|
|
})
|
|
|
|
return {
|
|
'type': 'ir.actions.act_window',
|
|
'target': 'new',
|
|
'name': _('Choose your sender name'),
|
|
'view_mode': 'form',
|
|
'res_model': 'sms.account.sender',
|
|
'res_id': sender_name_wizard.id,
|
|
}
|