Port base_usability, sale_usability, sale_stock_usability to v10

This commit is contained in:
Alexis de Lattre
2016-10-27 09:33:15 +02:00
committed by Raphaël Valyi
parent 3bde97db3f
commit 6d887f79cf
12 changed files with 73 additions and 230 deletions

View File

@@ -3,4 +3,3 @@
from . import partner
from . import mail
from . import misc
from . import ir_sequence

View File

@@ -1,25 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Base Usability module for Odoo
# Copyright (C) 2014-2015 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# -*- coding: utf-8 -*-
# © 2014-2016 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'Base Usability',
@@ -44,14 +26,13 @@ A group by 'State' is added to module search view.
""",
'author': 'Akretion',
'website': 'http://www.akretion.com',
'depends': ['base', 'mail'],
'depends': ['base'],
'data': [
'security/group.xml',
'security/ir.model.access.csv',
'partner_view.xml',
'country_view.xml',
'module_view.xml',
'translation_view.xml',
],
'installable': False,
'installable': True,
}

View File

@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 Akretion (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
The licence is in the file __openerp__.py
© 2015-2016 Akretion (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<openerp>
<data>
<odoo>
<record id="res_country_state_search" model="ir.ui.view">
<field name="name">base_usability.res.country.state.search</field>
@@ -43,11 +42,10 @@
<field name="model">res.country</field>
<field name="inherit_id" ref="base.view_country_form"/>
<field name="arch" type="xml">
<field name="currency_id" position="after">
<field name="code" position="after">
<field name="country_group_ids" widget="many2many_tags"/>
</field>
</field>
</record>
</data>
</openerp>
</odoo>

View File

@@ -1,48 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Base Usability module for Odoo
# Copyright (C) 2016 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp import models, fields
from datetime import datetime
import pytz
class IrSequence(models.Model):
_inherit = 'ir.sequence'
def _interpolation_dict_context(self, context=None):
if context is None:
context = {}
t = False
if context.get('force_sequence_date'):
date_str = context['force_sequence_date']
if isinstance(date_str, (str, unicode)) and len(date_str) == 10:
t = fields.Date.from_string(date_str)
if not t:
t = datetime.now(pytz.timezone(context.get('tz') or 'UTC'))
sequences = {
'year': '%Y', 'month': '%m', 'day': '%d', 'y': '%y', 'doy': '%j',
'woy': '%W',
'weekday': '%w', 'h24': '%H', 'h12': '%I', 'min': '%M', 'sec': '%S'
}
return {
key: t.strftime(sequence)
for key, sequence in sequences.iteritems()}

View File

@@ -1,26 +1,8 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Base Usability module for Odoo
# Copyright (C) 2015 Akretion (http://www.akretion.com/)
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# © 2015-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp import models
from odoo import models, api
import logging
logger = logging.getLogger(__name__)
@@ -29,18 +11,18 @@ logger = logging.getLogger(__name__)
class IrMailServer(models.Model):
_inherit = "ir.mail_server"
@api.model
def send_email(
self, cr, uid, message, mail_server_id=None, smtp_server=None,
self, message, mail_server_id=None, smtp_server=None,
smtp_port=None, smtp_user=None, smtp_password=None,
smtp_encryption=None, smtp_debug=False, context=None):
smtp_encryption=None, smtp_debug=False):
logger.info("Sending email to %s copy %s with subject %s",
message.get('To'),
message.get('Cc'),
message.get('Subject'))
return super(IrMailServer, self).send_email(
cr, uid, message, mail_server_id=mail_server_id,
message, mail_server_id=mail_server_id,
smtp_server=smtp_server, smtp_port=smtp_port,
smtp_user=smtp_user, smtp_password=smtp_password,
smtp_encryption=smtp_encryption, smtp_debug=smtp_debug,
context=context)
smtp_encryption=smtp_encryption, smtp_debug=smtp_debug)

View File

@@ -1,26 +1,8 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Base Usability module for Odoo
# Copyright (C) 2016 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# © 2015-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp import models, fields
from odoo import models, fields
class BaseLanguageExport(models.TransientModel):

View File

@@ -1,27 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 Akretion (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
The licence is in the file __openerp__.py
© 2015-2016 Akretion (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<openerp>
<data>
<odoo>
<record id="view_module_filter" model="ir.ui.view">
<field name="model">ir.module.module</field>
<field name="inherit_id" ref="base.view_module_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@string='Category']" position="after">
<filter string="State" domain="[]" context="{'group_by':'state'}"/>
</xpath>
</field>
</record>
<record id="view_module_filter" model="ir.ui.view">
<field name="model">ir.module.module</field>
<field name="inherit_id" ref="base.view_module_filter"/>
<field name="arch" type="xml">
<group expand="0" position="inside">
<filter name="state_groupby" string="State" context="{'group_by': 'state'}"/>
</group>
</field>
</record>
<record id="base.open_module_tree" model="ir.actions.act_window">
<field name="res_model">ir.module.module</field>
<field name="context">{}</field>
</record>
<record id="base.open_module_tree" model="ir.actions.act_window">
<field name="context">{}</field>
</record>
</data>
</openerp>
</odoo>

View File

@@ -1,31 +1,16 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Base Usability module for Odoo
# Copyright (C) 2015 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# -*- coding: utf-8 -*-
# © 2015-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp import models, fields, api
from odoo import models, fields, api
class Partner(models.Model):
class ResPartner(models.Model):
_inherit = 'res.partner'
# track_visibility is handled in the 'mail' module, and base_usability
# doesn't depend on 'mail', but that doesn't hurt, it will just be
# ignored if mail is not installed
name = fields.Char(track_visibility='onchange')
parent_id = fields.Many2one(track_visibility='onchange')
ref = fields.Char(track_visibility='onchange')
@@ -43,20 +28,26 @@ class Partner(models.Model):
country_id = fields.Many2one(track_visibility='onchange')
email = fields.Char(track_visibility='onchange')
is_company = fields.Boolean(track_visibility='onchange')
use_parent_address = fields.Boolean(track_visibility='onchange')
active = fields.Boolean(track_visibility='onchange')
# For reports
name_title = fields.Char(
compute='_compute_name_title', string='Name with Title')
@api.one
@api.depends('name', 'title', 'is_company')
@api.multi
@api.depends('name', 'title')
def _compute_name_title(self):
name_title = self.name
if self.title:
title = self.title.shortcut or self.title
if self.is_company:
name_title = ' '.join([name_title, title])
else:
for partner in self:
name_title = partner.name
if partner.title and not partner.is_company:
title = partner.title.shortcut or partner.title
name_title = ' '.join([title, name_title])
self.name_title = name_title
partner.name_title = name_title
@api.multi
def _display_address(self, without_company=False):
'''Remove empty lines'''
res = super(ResPartner, self)._display_address(
without_company=without_company)
while "\n\n" in res:
res = res.replace('\n\n', '\n')
return res

View File

@@ -1,32 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2014-2015 Akretion (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
The licence is in the file __openerp__.py
© 2014-2016 Akretion (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<openerp>
<data>
<odoo>
<record id="view_partner_form" model="ir.ui.view">
<field name="name">base_usability.title.on.partner.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='child_ids']/form//field[@name='function']" position="before">
<field name="title"/>
</xpath>
<!-- is_company option is readonly when the partner is a contact -->
<xpath expr="//div[@class='oe_edit_only']/field[@name='is_company']" position="attributes">
<attribute name="attrs">{'readonly': [('parent_id', '!=', False)]}</attribute>
</xpath>
<!-- Wider 'name' field -->
<xpath expr="//sheet/div[@class='oe_title oe_left']" position="attributes">
<xpath expr="//sheet/div[@class='oe_title']" position="attributes">
<attribute name="style">width: 650px;</attribute>
</xpath>
<xpath expr="//field[@name='child_ids']/form/sheet/div[@class='oe_title']" position="attributes">
<attribute name="style">width: 600px;</attribute>
</xpath>
</field>
</record>
@@ -38,11 +27,7 @@
<field name="function" position="before">
<field name="title"/>
</field>
<xpath expr="//div[@class='oe_edit_only']/field[@name='is_company']" position="attributes">
<attribute name="attrs">{'readonly': [('parent_id', '!=', False)]}</attribute>
</xpath>
</field>
</record>
</data>
</openerp>
</odoo>

View File

@@ -5,8 +5,7 @@
-->
<openerp>
<data noupdate="1">
<odoo noupdate="1">
<!-- This group is used to hide menu entries to everybody,
so you should not put any user in this group. It is used
@@ -20,5 +19,4 @@ common to have several users that belong to this group -->
<field name="name">Nobody (used to hide native menus)</field>
</record>
</data>
</openerp>
</odoo>

View File

@@ -2,3 +2,4 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
base.access_res_country_group_user,Full access on res.country to Settings group,base.model_res_country,base.group_system,1,1,1,1
base.access_res_country_state_group_user,Full access on res.country.state to Settings group,base.model_res_country_state,base.group_system,1,1,1,1
base.access_res_country_group_group_user,Full access on res.country.group to Settings group,base.model_res_country_group,base.group_system,1,1,1,1
base.access_res_partner_title_group_user,Full access on res.partner.title,base.model_res_partner_title,base.group_system,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 base.access_res_country_group_user Full access on res.country to Settings group base.model_res_country base.group_system 1 1 1 1
3 base.access_res_country_state_group_user Full access on res.country.state to Settings group base.model_res_country_state base.group_system 1 1 1 1
4 base.access_res_country_group_group_user Full access on res.country.group to Settings group base.model_res_country_group base.group_system 1 1 1 1
5 base.access_res_partner_title_group_user Full access on res.partner.title base.model_res_partner_title base.group_system 1 1 1 1

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 Akretion (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
The licence is in the file __openerp__.py
-->
<openerp>
<data>
<record id="view_translation_tree" model="ir.ui.view">
<field name="name">base_usability.state.translation.tree</field>
<field name="model">ir.translation</field>
<field name="inherit_id" ref="base.view_translation_tree"/>
<field name="arch" type="xml">
<field name="type" position="after">
<field name="state"/>
</field>
</field>
</record>
</data>
</openerp>