Permalink
Browse files

Merge pull request #672 from Rusllan/11.0-10.0

11.0 10.0
  • Loading branch information...
yelizariev committed Oct 30, 2018
2 parents bb48ffa + 86a1628 commit 5541baa4e86ca4abf0d132165bcb93dde6fe5a05
@@ -18,36 +18,36 @@
#
#
from openerp import fields, orm
from openerp import fields, models
class ResCompany(orm.Model):
class ResCompany(models.Model):
"""override company to add currency update"""
def _multi_curr_enable(self, cr, uid, ids, field_name, arg, context=None):
def _multi_curr_enable(self, field_name, arg):
"check if multi company currency is enabled"
result = {}
if self.pool.get('ir.model.fields').search(cr, uid, [('name', '=', 'company_id'), ('model', '=', 'res.currency')]) == []:
if not self.env['ir.model.fields'].search([('name', '=', 'company_id'), ('model', '=', 'res.currency')]):
enable = 0
else:
enable = 1
for id in ids:
result[id] = enable
for company in self:
result[company.id] = enable
return result
def button_refresh_currency(self, cr, uid, ids, context=None):
def button_refresh_currency(self):
"""Refrech the currency !!for all the company
now"""
currency_updater_obj = self.pool.get('currency.rate.update')
currency_updater_obj = self.env['currency.rate.update']
try:
currency_updater_obj.run_currency_update(cr, uid)
currency_updater_obj.run_currency_update()
except Exception as e:
raise e
# print "ok"
return True
def write(self, cr, uid, ids, vals, context=None):
def write(self, vals):
"""handle the activation of the currecny update on compagnies.
There are two ways of implementing multi_company currency,
the currency is shared or not. The module take care of the two
@@ -57,41 +57,37 @@ def write(self, cr, uid, ids, vals, context=None):
If yours currency are not share you will be able to activate the
auto update on each separated company"""
save_cron = {}
for company in self.browse(cr, uid, ids, context=context):
for company in self:
if 'auto_currency_up' in vals:
enable = company.multi_company_currency_enable
compagnies = self.search(cr, uid, [])
compagnies = self.search()
activate_cron = 'f'
value = vals.get('auto_currency_up')
if not value:
for comp in compagnies:
if self.browse(cr, uid, comp).auto_currency_up:
if comp.auto_currency_up:
activate_cron = 't'
break
save_cron.update({'active': activate_cron})
else:
for comp in compagnies:
if comp != company.id and not enable:
if self.browse(cr, uid, comp).multi_company_currency_enable:
if comp.id != company.id and not enable:
if comp.multi_company_currency_enable:
raise Exception('Yon can not activate auto currency ' +
'update on more thant one company with this ' +
'multi company configuration')
for comp in compagnies:
if self.browse(cr, uid, comp).auto_currency_up:
if comp.auto_currency_up:
activate_cron = 't'
break
save_cron.update({'active': activate_cron})
if 'interval_type' in vals:
save_cron.update({'interval_type': vals.get('interval_type')})
if save_cron:
self.pool.get('currency.rate.update').save_cron(
cr,
uid,
save_cron
)
self.env['currency.rate.update'].save_cron(save_cron)
return super(ResCompany, self).write(cr, uid, ids, vals, context=context)
return super(ResCompany, self).write(vals)
_inherit = "res.company"
@@ -115,12 +111,12 @@ def write(self, cr, uid, ids, vals, context=None):
)
# function field that allows to know the
# mutli company currency implementation
multi_company_currency_enable = fields.Function(
_multi_curr_enable,
method=True,
type='boolean',
string="Multi company currency",
help='if this case is not check you can' +
' not set currency is active on two company'
multi_company_currency_enable = fields.Boolean(
compute=_multi_curr_enable,
method=True,
type='boolean',
string="Multi company currency",
help='if this case is not check you can' +
' not set currency is active on two company'
)
@@ -77,9 +77,9 @@ class CurrencyRateUpdateService(models.Model):
)
]
def _check_max_delta_days(self, cr, uid, ids):
for company in self.read(cr, uid, ids, ['max_delta_days']):
if company['max_delta_days'] >= 0:
def _check_max_delta_days(self):
for company in self:
if self.max_delta_days >= 0:
continue
else:
return False
@@ -112,25 +112,20 @@ class CurrencyRateUpdate(models.Model):
LOG_NAME = 'cron-rates'
MOD_NAME = 'currency_rate_update: '
def get_cron_id(self, cr, uid, context):
def get_cron_id(self):
"""return the updater cron's id. Create one if the cron does not exists """
cron_id = 0
cron_obj = self.pool.get('ir.cron')
cron_obj = self.env['ir.cron']
try:
# find the cron that send messages
cron_id = cron_obj.search(
cr,
uid,
cron_id = cron_obj.with_context(active_test=False).search(
[
('function', 'ilike', self.cron['function']),
('model', 'ilike', self.cron['model'])
],
context={
'active_test': False
}
]
)
cron_id = int(cron_id[0])
cron_id = cron_id[0].id
except Exception:
_logger.info('warning cron not found one will be created')
pass # ignore if the cron is missing cause we are going to create it in db
@@ -139,36 +134,35 @@ def get_cron_id(self, cr, uid, context):
if not cron_id:
# translate
self.cron['name'] = _('Currency Rate Update')
cron_id = cron_obj.create(cr, uid, self.cron, context)
cron_id = cron_obj.create(self.cron)
return cron_id
def save_cron(self, cr, uid, datas, context=None):
def save_cron(self, datas):
"""save the cron config data should be a dict"""
context = context or {}
# modify the cron
cron_id = self.get_cron_id(cr, uid, context)
self.pool.get('ir.cron').write(cr, uid, [cron_id], datas)
cron_id = self.get_cron_id()
self.env['ir.cron'].write([cron_id], datas)
def run_currency_update(self, cr, uid):
def run_currency_update(self):
"update currency at the given frequence"
factory = CurrencyGetterFactory()
curr_obj = self.pool.get('res.currency')
rate_obj = self.pool.get('res.currency.rate')
companies = self.pool.get('res.company').search(cr, uid, [])
for comp in self.pool.get('res.company').browse(cr, uid, companies):
curr_obj = self.env['res.currency']
rate_obj = self.env['res.currency.rate']
companies = self.env['res.company'].search()
for comp in companies:
# the multi company currency can beset or no so we handle
# the two case
if not comp.auto_currency_up:
continue
# we initialise the multi compnay search filter or not serach filter
# we fetch the main currency looking for currency with base = true. The main rate should be set at 1.00
main_curr_ids = curr_obj.search(cr, uid, [('base', '=', True), ('company_id', '=', comp.id)])
main_curr_ids = curr_obj.search([('base', '=', True), ('company_id', '=', comp.id)])
if not main_curr_ids:
# If we can not find a base currency for this company we look for one with no company set
main_curr_ids = curr_obj.search(cr, uid, [('base', '=', True), ('company_id', '=', False)])
main_curr_ids = curr_obj.search([('base', '=', True), ('company_id', '=', False)])
if main_curr_ids:
main_curr_rec = curr_obj.browse(cr, uid, main_curr_ids[0])
main_curr_rec = main_curr_ids[0]
else:
raise orm.except_orm(_('Error!'), ('There is no base currency set!'))
if main_curr_rec.rate != 1:
@@ -200,11 +194,7 @@ def run_currency_update(self, cr, uid):
'rate': res[curr.name],
'name': rate_name
}
rate_obj.create(
cr,
uid,
vals,
)
rate_obj.create(vals)
# show the most recent note at the top
note = "\n%s currency updated. "\
@@ -37,6 +37,34 @@ Configuration
The settings are also available from the ``Settings >> Technical >> Database Structure >> S3 Settings``.
S3
--
Minimal access policy for s3 credentials are as following::
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:CreateBucket",
"s3:GetBucketLocation",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::YOUBUCKETNAMEHERE",
"arn:aws:s3:::YOUBUCKETNAMEHERE/*"
]
}
]
}
You can also remove ``"s3:CreateBucket"`` if bucket already exists.
Usage
=====
@@ -36,15 +36,15 @@ msgstr ""
#. module: ir_attachment_s3
#: model:ir.ui.menu,name:ir_attachment_s3.menu_s3_settings
msgid "S3 Settings"
msgstr ""
msgstr "Configuración de S3"
#. module: ir_attachment_s3
#: model:ir.model.fields,field_description:ir_attachment_s3.field_res_config_settings_s3_access_key_id
#: model:ir.model.fields,field_description:ir_attachment_s3.field_test_config_settings_s3_access_key_id
#: model:ir.model.fields,field_description:ir_attachment_s3.field_theme_kit_config_s3_access_key_id
#: model:ir.ui.view,arch_db:ir_attachment_s3.res_config_settings_view_form
msgid "S3 access key id"
msgstr ""
msgstr "ID llave acceso S3"
#. module: ir_attachment_s3
#: model:ir.model.fields,field_description:ir_attachment_s3.field_res_config_settings_s3_bucket
@@ -103,7 +103,7 @@ msgstr ""
#: model:ir.model.fields,help:ir_attachment_s3.field_test_config_settings_s3_bucket
#: model:ir.model.fields,help:ir_attachment_s3.field_theme_kit_config_s3_bucket
msgid "i.e. 'attachmentbucket'"
msgstr ""
msgstr "ejemplo. 'attachmentbucket'"
#. module: ir_attachment_s3
#: model:ir.model,name:ir_attachment_s3.model_ir_attachment
@@ -0,0 +1,63 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_category_taxes
#
# Translators:
# Randall <randall_castro@me.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-09 17:52+0000\n"
"PO-Revision-Date: 2018-05-09 17:52+0000\n"
"Last-Translator: Randall <randall_castro@me.com>, 2018\n"
"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/it-projects-llc/teams/76080/es_CR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_CR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: product_category_taxes
#: model:ir.model.fields,field_description:product_category_taxes.field_product_category_taxes_id
msgid "Customer Taxes"
msgstr ""
#. module: product_category_taxes
#: model:ir.model,name:product_category_taxes.model_product_category
msgid "Product Category"
msgstr ""
#. module: product_category_taxes
#: model:ir.model,name:product_category_taxes.model_product_template
msgid "Product Template"
msgstr "Plantilla Producto"
#. module: product_category_taxes
#: model:ir.model.fields,field_description:product_category_taxes.field_product_category_product_template_ids
msgid "Products Templates"
msgstr ""
#. module: product_category_taxes
#: model:ir.ui.view,arch_db:product_category_taxes.product_category_taxes_form
msgid "Taxes"
msgstr ""
#. module: product_category_taxes
#: model:ir.model.fields,field_description:product_category_taxes.field_product_category_supplier_taxes_id
msgid "Vendor Taxes"
msgstr ""
#. module: product_category_taxes
#: model:ir.model.fields,help:product_category_taxes.field_product_category_taxes_id
msgid ""
"When you set the product category for your product, these taxes will be "
"copied to the product customer taxes."
msgstr ""
#. module: product_category_taxes
#: model:ir.model.fields,help:product_category_taxes.field_product_category_supplier_taxes_id
msgid ""
"When you set the product category for your product, these taxes will be "
"copied to the product vendor taxes."
msgstr ""
@@ -3,14 +3,14 @@
# * product_details
#
# Translators:
# Randall Castro <rcastro@treintaycinco.com>, 2018
# Randall <randall_castro@me.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-21 23:16+0000\n"
"PO-Revision-Date: 2018-04-21 23:16+0000\n"
"Last-Translator: Randall Castro <rcastro@treintaycinco.com>, 2018\n"
"POT-Creation-Date: 2018-05-09 17:52+0000\n"
"PO-Revision-Date: 2018-05-09 17:52+0000\n"
"Last-Translator: Randall <randall_castro@me.com>, 2018\n"
"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/it-projects-llc/teams/76080/es_CR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,4 +36,4 @@ msgstr "Detalle existente de modelo"
#. module: product_details
#: model:ir.model,name:product_details.model_product_template
msgid "Product Template"
msgstr ""
msgstr "Plantilla Producto"
@@ -21,7 +21,7 @@
{
"name": "Product Tags",
"version": "1.0",
"version": "10.0.1.0.1",
"author": "Julius Network Solutions",
"website": "http://julius.fr",
"category": "Sales Management",
@@ -0,0 +1,8 @@
`1.0.1`
- **Fix:** issue with search for non-existent tags
`1.0.0`
-------
- **Init version**
Oops, something went wrong.

0 comments on commit 5541baa

Please sign in to comment.