Skip to content
Extraits de code Groupes Projets
Valider a58ef51d rédigé par jordan's avatar jordan
Parcourir les fichiers

[init] initial commit

parent
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
.*
*.pyc
!.gitignore
Ce diff est replié.
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl
:alt: License: AGPL-3
==========================
Ethikis - Survey Translate
==========================
- Ajoute un champ *survey* au modèle *ir_translation*
- Permet l'affichage des traductions par sondage
Credits
=======
Contributors
------------
* Juliana Poudou <juliana@le-filament.com>
* Rémi Cazenave <remi@le-filament.com>
* Benjamin Rivier <benjamin@le-filament.com>
* Jordan Coest <jordan@le-filament.com>
Maintainer
----------
.. image:: https://le-filament.com/images/logo-lefilament.png
:alt: Le Filament
:target: https://le-filament.com
This module is maintained by Le Filament
# © 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models
# © 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Ethikis - Survey Translate Backend",
"author": "Le Filament",
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": ["ethikis_survey"],
"data": [
"views/ir_translation.xml",
"views/survey_survey.xml",
]
}
# © 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import ir_translation
from . import survey_survey
# Copyright 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models, api
class IrTranslation(models.Model):
_inherit = "ir.translation"
# ------------------------------------------------------
# Fields declaration
# ------------------------------------------------------
survey_id = fields.Many2one(
comodel_name='survey.survey',
string="Sondage",
compute='_compute_survey_id', store=True)
# ------------------------------------------------------
# Computed fields / Search Fields
# ------------------------------------------------------
@api.depends('name')
def _compute_survey_id(self):
for res in self:
if res.name:
if res.name.startswith("survey.") and not res.name.startswith("survey.stage"):
model = res.name.split(",")[0]
if model == 'survey.survey':
survey = self.env['survey.survey'].browse(res.res_id)
if survey.exists():
res.survey_id = survey.id
elif model == 'survey.label':
label = self.env['survey.label'].browse(res.res_id)
if label.exists() and label.question_id.exists() and label.question_id.survey_id.exists():
res.survey_id = label.question_id.survey_id.id
else:
model_id = self.env[model].browse(res.res_id)
if model_id.exists():
res.survey_id = model_id.survey_id.id
# Copyright 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models
class Survey(models.Model):
_inherit = "survey.survey"
# ------------------------------------------------------
# Actions
# ------------------------------------------------------
def action_survey_translation(self):
action = self.env.ref('ethikis_survey_translate_backend' +
'.ethikis_action_translation').read()[0]
action.update({
'domain': [('survey_id', '=', self.id)]
})
return action
static/description/icon.png

8,95 ko

<?xml version="1.0"?>
<!-- Copyright 2021 Le Filament
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<data>
<record model="ir.ui.view" id="ethikis_inherit_base_view_translation_search">
<field name="name">ethikis.base.view.translation.inherit</field>
<field name="model">ir.translation</field>
<field name="inherit_id" ref="base.view_translation_search"/>
<field name="arch" type="xml">
<search position="inside">
<filter string="Pas traduit" name="not_translated"
domain="['|',('state','!=','translated'),('state','=',False)]"/>
<filter name="group_by_lang" string="Langues"
context="{'group_by': 'lang'}"/>
</search>
</field>
</record>
<!-- Vue tree pour exporter les termes à traduire : domain sur tous les fields de survey -->
<record model="ir.actions.act_window" id="ethikis_action_translation">
<field name="name">Générer les traductions</field>
<field name="res_model">ir.translation</field>
<field name="view_type">form</field>
<field name="view_mode">tree</field>
<field name="search_view_id" ref="ethikis_inherit_base_view_translation_search"/>
<field name="context" eval="{'search_default_not_translated': True}"/>
<field name="domain" eval="[
'|',
('name', '=', 'survey.survey,title'),
'|',
('name', '=', 'survey.survey,description'),
'|',
('name', '=', 'survey.survey,thank_you_message'),
'|',
('name', '=', 'survey.page,title'),
'|',
('name', '=', 'survey.question,question'),
'|',
('name', '=', 'survey.question,description'),
'|',
('name', '=', 'survey.question,comments_message'),
'|',
('name', '=', 'survey.question,constr_error_msg'),
('name', '=', 'survey.label,value'),
('lang', '!=', 'en_US'),
('source', '!=', False),
]"/>
</record>
</data>
</odoo>
\ No newline at end of file
<?xml version="1.0"?>
<!-- Copyright 2021 Le Filament
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<data>
<record id="ethikis_survey_export_button" model="ir.ui.view">
<field name="name">ethikis.survey.translate.button</field>
<field name="model">survey.survey</field>
<field name="inherit_id" ref="survey.survey_form"/>
<field name="arch" type="xml">
<button name="get_data_file" position="after">
<button name="action_survey_translation"
string="Traduction"
type="object"
class="btn-info"/>
</button>
</field>
</record>
</data>
</odoo>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter