diff --git a/mobile_service_shop/models/mobile_service.py b/mobile_service_shop/models/mobile_service.py
index d5621a570..86621e924 100644
--- a/mobile_service_shop/models/mobile_service.py
+++ b/mobile_service_shop/models/mobile_service.py
@@ -23,7 +23,7 @@ class MobileServiceShop(models.Model):
zip = fields.Char(related='person_name.zip', string="Address")
country_id = fields.Many2one(related='person_name.country_id', string="Address")
- brand_name = fields.Many2one('mobile.brand', string="Mobile Brand", required=True)
+ brand_name = fields.Many2one('mobile.brand', string="Mobile Brand")
is_in_warranty = fields.Boolean(
'In Warranty', default=False,
help="Specify if the product is in warranty.")
@@ -36,7 +36,7 @@ class MobileServiceShop(models.Model):
imei_no = fields.Char(string="IMEI Number")
- model_name = fields.Many2one('brand.model', string="Model", required=True, domain="[('mobile_brand_name','=',brand_name)]")
+ model_name = fields.Many2one('brand.model', string="Model", domain="[('mobile_brand_name','=',brand_name)]")
image_medium = fields.Binary(related='model_name.image_medium', store=True, attachment=True)
date_request = fields.Date(string="Requested date", default=fields.Datetime.now)
return_date = fields.Date(string="Return date", required=True)
@@ -61,8 +61,9 @@ class MobileServiceShop(models.Model):
journal_type = fields.Many2one('account.journal', 'Journal', invisible=True,
default=lambda self: self.env['account.journal'].search([('code', '=', 'SERV')]))
- account_type = fields.Many2one('account.account', 'Account', invisible=True,
- default=lambda self: self.env['account.account'].search([('code', '=', 200110)]))
+
+ company_id = fields.Many2one('res.company', 'Company',
+ default=lambda self: self.env['res.company']._company_default_get('mobile.service'))
@api.model
def _default_picking_transfer(self):
@@ -178,7 +179,11 @@ class MobileServiceShop(models.Model):
@api.model
def create(self, vals):
- vals['name'] = self.env['ir.sequence'].next_by_code('mobile.service')
+ if 'company_id' in vals:
+ vals['name'] = self.env['ir.sequence'].with_context(force_company=vals['company_id']).next_by_code(
+ 'mobile.service') or _('New')
+ else:
+ vals['name'] = self.env['ir.sequence'].next_by_code('mobile.service') or _('New')
vals['service_state'] = 'draft'
return super(MobileServiceShop, self).create(vals)
@@ -187,7 +192,7 @@ class MobileServiceShop(models.Model):
for i in self:
if i.service_state != 'draft':
raise UserError(_('You cannot delete an assigned service request'))
- return super(MobileServiceShop, i).unlink()
+ return super(MobileServiceShop, self).unlink()
@api.multi
def action_invoice_create_wizard(self):
diff --git a/mobile_service_shop/security/security.xml b/mobile_service_shop/security/security.xml
old mode 100755
new mode 100644
index 2177e14db..402fed64c
--- a/mobile_service_shop/security/security.xml
+++ b/mobile_service_shop/security/security.xml
@@ -22,14 +22,14 @@
Mobile Service rule
- [('technicion_name','=',user.id),('service_state','!=','draft')]
+ [('technicion_name','=',user.id),('service_state','!=','draft'), ('company_id','=',user.company_id.id)]
Mobile Service Manager rule
- []
+ [('company_id','=',user.company_id.id)]