99 lines
5.3 KiB
Python
Executable File
99 lines
5.3 KiB
Python
Executable File
# -*- coding: utf-8 -*-
|
|
##########################################################################
|
|
#
|
|
# Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>)
|
|
#
|
|
##########################################################################
|
|
from odoo import api, fields, models
|
|
from odoo.tools.safe_eval import safe_eval
|
|
import logging
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class MobikulConfigSettings(models.TransientModel):
|
|
_name = 'mobikul.config.settings'
|
|
_inherit = 'res.config.settings'
|
|
|
|
def _default_mobikul(self):
|
|
return self.env['mobikul'].search([], limit=1).id
|
|
|
|
def _default_order_mail_template(self):
|
|
return self.env.ref('sale.email_template_edi_sale').id
|
|
|
|
def open_mobikul_conf(self):
|
|
return {
|
|
'type': 'ir.actions.act_window',
|
|
'name': 'Mobikul-App Configuration',
|
|
'view_type': 'form',
|
|
'view_mode': 'form',
|
|
'res_model': 'mobikul',
|
|
'res_id': self.mobikul_app.id,
|
|
'target': 'current',
|
|
}
|
|
|
|
# @api.multi
|
|
def open_default_user(self):
|
|
action = self.env.ref('base.action_res_users').read()[0]
|
|
action['context'] = self.env.context
|
|
action['res_id'] = self.env.ref('base.default_user').id
|
|
action['views'] = [[self.env.ref('base.view_users_form').id, 'form']]
|
|
return action
|
|
|
|
mobikul_app = fields.Many2one('mobikul', string="Mobikul APP", default=_default_mobikul, required=True)
|
|
app_name = fields.Char('App Name', related='mobikul_app.name')
|
|
product_limit = fields.Integer('Limit Products per page', related='mobikul_app.product_limit')
|
|
module_email_verification = fields.Boolean(related='mobikul_app.email_verify', string='Verify Email on signUp')
|
|
salesperson_id = fields.Many2one('res.users', related='mobikul_app.salesperson_id', string='Salesperson')
|
|
salesteam_id = fields.Many2one('crm.team', related='mobikul_app.salesteam_id', string='Sales Team')
|
|
default_lang = fields.Many2one('res.lang', related='mobikul_app.default_lang', string='Default Language')
|
|
currency_id = fields.Many2one('res.currency', related='mobikul_app.currency_id', string='Default Currency')
|
|
pricelist_id = fields.Many2one('product.pricelist', related='mobikul_app.pricelist_id', string='Default Pricelist')
|
|
mobikul_reset_password = fields.Boolean(string='Enable password reset', help="This allows users to trigger a password reset from App")
|
|
mobikul_signup = fields.Boolean(string='Enable customer sign up')
|
|
mobikul_allow_guest = fields.Boolean(string='Allow Guests to view products on App.')
|
|
mobikul_signup_template_user_id = fields.Many2one('res.users', string='Template user for new users created through App')
|
|
module_auth_oauth = fields.Boolean(string='Allow social login (Gmail,Facebook,etc)', help="Use external authentication providers (OAuth)")
|
|
mobikul_gmail_signin = fields.Boolean(string='Gmail SignIn')
|
|
mobikul_facebook_signin = fields.Boolean(string='Facebook SignIn')
|
|
mobikul_twitter_signin = fields.Boolean(string='Twitter SignIn')
|
|
# module_website_wishlist = fields.Boolean(string='Allow Wishlist feature on App.', help="Use external Addon to add wishlist feature in website")
|
|
module_wk_review = fields.Boolean(string='Allow Product Review feature on App.', help="Use external Addon to add review feature in website")
|
|
module_odoo_marketplace = fields.Boolean(string='Allow Odoo Marketplace on App.', help="Use external Addon to add Multi Vendor Marketplace in website")
|
|
module_website_sale_wishlist = fields.Boolean(string='Allow Website Sale Wishlist on App.',
|
|
help="Use default Addon to add Wishlist in website")
|
|
|
|
@api.onchange('pricelist_id')
|
|
def onchange_currency_id_set(self):
|
|
self.currency_id = self.pricelist_id.currency_id
|
|
|
|
|
|
@api.model
|
|
def get_values(self):
|
|
res = super(MobikulConfigSettings, self).get_values()
|
|
IrConfigParam = self.env['ir.config_parameter']
|
|
# we use safe_eval on the result, since the value of the parameter is a nonempty string
|
|
res.update(
|
|
mobikul_reset_password=safe_eval(IrConfigParam.get_param('auth_signup.reset_password', 'False')),
|
|
mobikul_signup = safe_eval(IrConfigParam.get_param('auth_signup.allow_uninvited', 'False')),
|
|
mobikul_signup_template_user_id= safe_eval(IrConfigParam.get_param('auth_signup.template_user_id', 'False')),
|
|
mobikul_allow_guest= safe_eval(IrConfigParam.get_param('mobikul.allow_guest', 'False')),
|
|
mobikul_gmail_signin= safe_eval(IrConfigParam.get_param('mobikul.gmail_signin', 'False')),
|
|
mobikul_facebook_signin= safe_eval(IrConfigParam.get_param('mobikul.facebook_signin', 'False')),
|
|
mobikul_twitter_signin= safe_eval(IrConfigParam.get_param('mobikul.twitter_signin', 'False')),
|
|
)
|
|
return res
|
|
|
|
@api.multi
|
|
def set_values(self):
|
|
self.ensure_one()
|
|
super(MobikulConfigSettings, self).set_values()
|
|
IrConfigParam = self.env['ir.config_parameter']
|
|
# we store the repr of the values, since the value of the parameter is a required string
|
|
IrConfigParam.set_param('auth_signup.reset_password', repr(self.mobikul_reset_password))
|
|
IrConfigParam.set_param('auth_signup.allow_uninvited', repr(self.mobikul_signup))
|
|
IrConfigParam.set_param('auth_signup.template_user_id', repr(self.mobikul_signup_template_user_id.id))
|
|
IrConfigParam.set_param('mobikul.allow_guest', repr(self.mobikul_allow_guest))
|
|
IrConfigParam.set_param('mobikul.gmail_signin', repr(self.mobikul_gmail_signin))
|
|
IrConfigParam.set_param('mobikul.facebook_signin', repr(self.mobikul_facebook_signin))
|
|
IrConfigParam.set_param('mobikul.twitter_signin', repr(self.mobikul_twitter_signin))
|