Rémi FRANÇOIS
5 years ago
5 changed files with 224 additions and 0 deletions
-
1survey_template/__init__.py
-
32survey_template/__manifest__.py
-
1survey_template/models/__init__.py
-
17survey_template/models/survey_survey.py
-
173survey_template/views/survey_survey.xml
@ -0,0 +1 @@ |
|||
from . import models |
@ -0,0 +1,32 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
{ |
|||
'name': 'Survey template', |
|||
'version': '0.1.0', |
|||
'summary': """ |
|||
This module adds templating feature on surveys and their own menu item. |
|||
""", |
|||
'description': """ """, |
|||
'author': 'Sudokeys', |
|||
'website': 'http://www.sudokeys.com', |
|||
'license': 'AGPL-3', |
|||
'category': 'Marketing', |
|||
'depends': [ |
|||
'survey', |
|||
], |
|||
'data': [ |
|||
'views/survey_survey.xml', |
|||
], |
|||
'demo': [], |
|||
'auto_install': False, |
|||
'external_dependencies': [], |
|||
'application': False, |
|||
'css': [], |
|||
'images': [], |
|||
'js': [], |
|||
'installable': True, |
|||
'maintainer': 'Sudokeys', |
|||
'pre_init_hook': '', |
|||
'post_init_hook': '', |
|||
'uninstall_hook': '', |
|||
} |
@ -0,0 +1 @@ |
|||
from . import survey_survey |
@ -0,0 +1,17 @@ |
|||
from odoo import models, fields, api |
|||
from odoo.exceptions import UserError |
|||
|
|||
|
|||
class SurveySurvey(models.Model): |
|||
_inherit = 'survey.survey' |
|||
|
|||
is_template = fields.Boolean(string="Est un modèle", default=False, copy=False) |
|||
|
|||
# ACTIONS |
|||
|
|||
@api.multi |
|||
def action_send_survey(self): |
|||
self.ensure_one() |
|||
if self.is_template: |
|||
raise UserError("Vous ne pouvez pas partager un modèle de sondage, créez un nouveau sondage à partir de ce modèle et vous pourrez le partager.") |
|||
return super(SurveySurvey, self).action_send_survey() |
@ -0,0 +1,173 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
|
|||
<!-- survey views and actions --> |
|||
|
|||
<record id="survey_survey_form" model="ir.ui.view"> |
|||
<field name="name">survey_template survey.survey form</field> |
|||
<field name="model">survey.survey</field> |
|||
<field name="inherit_id" ref="survey.survey_form"/> |
|||
<field name="priority">20</field> |
|||
<field name="arch" type="xml"> |
|||
<field name="is_closed" position="after"> |
|||
<field name="is_template" invisible="1"/> |
|||
</field> |
|||
<!-- Hide send button and stage on templates --> |
|||
<button name="action_send_survey" position="attributes"> |
|||
<attribute name="attrs">{'invisible': [('is_template', '=', True)]}</attribute> |
|||
</button> |
|||
<field name="stage_id" position="attributes"> |
|||
<attribute name="attrs">{'invisible': [('is_template', '=', True)]}</attribute> |
|||
</field> |
|||
<div name="button_box" position="after"> |
|||
<h2 class="badge-pill badge-warning float-right" attrs="{'invisible': [('is_template', '=', False)]}">Ce sondage est un modèle</h2> |
|||
</div> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="survey_survey_tree" model="ir.ui.view"> |
|||
<field name="name">survey_template survey.survey tree</field> |
|||
<field name="model">survey.survey</field> |
|||
<field name="inherit_id" ref="survey.survey_tree"/> |
|||
<field name="priority">20</field> |
|||
<field name="arch" type="xml"> |
|||
<tree position="attributes"> |
|||
<attribute name="decoration-warning">is_template</attribute> |
|||
</tree> |
|||
<tree position="inside"> |
|||
<field name="is_template" invisible="1"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="survey_survey_kanban" model="ir.ui.view"> |
|||
<field name="name">survey_template survey.survey kanban</field> |
|||
<field name="model">survey.survey</field> |
|||
<field name="inherit_id" ref="survey.survey_kanban"/> |
|||
<field name="priority">20</field> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//div[hasclass('oe_kanban_bottom_left')]" position="inside"> |
|||
<div t-if="record.is_template.raw_value" class="badge-pill badge-warning">Modèle</div> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
<record model="ir.actions.act_window" id="survey.action_survey_form"> |
|||
<field name="domain">[('is_template','=',False)]</field> |
|||
</record> |
|||
|
|||
<!-- survey template views and actions --> |
|||
|
|||
<record id="survey_survey_template_tree" model="ir.ui.view"> |
|||
<field name="name">survey_template survey.survey template tree</field> |
|||
<field name="model">survey.survey</field> |
|||
<field name="priority">20</field> |
|||
<field name="arch" type="xml"> |
|||
<tree decoration-warning="is_template"> |
|||
<field name="active" invisible="1"/> |
|||
<field name="is_template" invisible="1"/> |
|||
<field name="title"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="survey_survey_template_kanban" model="ir.ui.view"> |
|||
<field name="name">survey_template survey.survey template kanban</field> |
|||
<field name="model">survey.survey</field> |
|||
<field name="priority">20</field> |
|||
<field name="arch" type="xml"> |
|||
<kanban> |
|||
<field name="designed"/> |
|||
<field name="title"/> |
|||
<field name="is_template"/> |
|||
<field name="color"/> |
|||
<templates> |
|||
<div t-name="kanban-box" t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click"> |
|||
<div class="o_dropdown_kanban dropdown" t-if="widget.editable"> |
|||
<a role="button" class="dropdown-toggle o-no-caret btn" data-toggle="dropdown" data-display="static" href="#" aria-label="Dropdown menu" title="Dropdown menu"> |
|||
<span class="fa fa-ellipsis-v"/> |
|||
</a> |
|||
<div class="dropdown-menu" role="menu"> |
|||
<a role="menuitem" type="edit" class="dropdown-item">Modifieer le modèle</a> |
|||
<a t-if="widget.deletable" role="menuitem" type="delete" class="dropdown-item">Supprimer ce modèle</a> |
|||
<div role="separator" class="dropdown-divider"/> |
|||
<div role="separator" class="dropdown-item-text">Color</div> |
|||
<ul class="oe_kanban_colorpicker" data-field="color"/> |
|||
</div> |
|||
</div> |
|||
<div class="o_kanban_record_top"> |
|||
<h4 class="o_kanban_record_title mb4 d-block"><field name="title"/></h4> |
|||
</div> |
|||
<div class="o_kanban_record_bottom"> |
|||
<div class="oe_kanban_bottom_left"> |
|||
<div t-if="record.is_template.raw_value" class="badge-pill badge-warning">Modèle</div> |
|||
</div> |
|||
<div class="oe_kanban_bottom_right"> |
|||
<field name="activity_ids" widget="kanban_activity"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</templates> |
|||
</kanban> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="survey_survey_template_act_window" model="ir.actions.act_window"> |
|||
<field name="name">Modèles de sondages</field> |
|||
<field name="res_model">survey.survey</field> |
|||
<field name="view_type">form</field> |
|||
<field name="view_mode">kanban,tree,form</field> |
|||
<field name="domain">[('is_template','=',True)]</field> |
|||
<field name="context">{'default_is_template':True}</field> |
|||
<field name="help" type="html"> |
|||
<p class="o_view_nocontent_smiling_face"> |
|||
Créez un nouveau modèle de sondage. |
|||
</p> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="survey_survey_template_act_window_view_kanban" model="ir.actions.act_window.view"> |
|||
<field name="sequence" eval="1"/> |
|||
<field name="view_mode">kanban</field> |
|||
<field name="view_id" ref="survey_survey_template_kanban"/> |
|||
<field name="act_window_id" ref="survey_survey_template_act_window"/> |
|||
</record> |
|||
|
|||
<record id="survey_survey_template_act_window_view_tree" model="ir.actions.act_window.view"> |
|||
<field name="sequence" eval="2"/> |
|||
<field name="view_mode">tree</field> |
|||
<field name="view_id" ref="survey_survey_template_tree"/> |
|||
<field name="act_window_id" ref="survey_survey_template_act_window"/> |
|||
</record> |
|||
|
|||
<!-- survey config menus rearrange --> |
|||
|
|||
<record id="survey.menu_surveys_configuration" model="ir.ui.menu"> |
|||
<field name="groups_id" eval="[(6,0,[ref('survey.group_survey_manager')])]"/> |
|||
</record> |
|||
|
|||
<menuitem |
|||
id="survey_survey_template_menu" |
|||
name="Modèles" |
|||
action="survey_survey_template_act_window" |
|||
parent="survey.menu_surveys_configuration" |
|||
sequence="0" |
|||
groups="survey.group_survey_manager"/> |
|||
|
|||
<record id="survey.menu_survey_page_form1" model="ir.ui.menu"> |
|||
<field name="groups_id" eval="[(4, ref('base.group_no_one'))]"/> |
|||
</record> |
|||
|
|||
<record id="survey.menu_survey_question_form1" model="ir.ui.menu"> |
|||
<field name="groups_id" eval="[(4, ref('base.group_no_one'))]"/> |
|||
</record> |
|||
|
|||
<record id="survey.menu_survey_label_form1" model="ir.ui.menu"> |
|||
<field name="groups_id" eval="[(4, ref('base.group_no_one'))]"/> |
|||
</record> |
|||
|
|||
<record id="survey.menu_survey_response_line_form" model="ir.ui.menu"> |
|||
<field name="groups_id" eval="[(4, ref('base.group_no_one'))]"/> |
|||
</record> |
|||
|
|||
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue