Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • d824b935aac387d7bea156ca5dd76c9804b574ba
  • 14.0 par défaut
  • 12.0 protégée
  • 13.0
  • 12.0-lm-00 protégée
5 résultats

ir_http.py

Blame
  • survey_survey.py 2,09 Kio
    # © 2020 Le Filament (<https://www.le-filament.com>)
    # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
    
    from odoo import fields, models, api
    
    
    class SurveyType(models.Model):
        """Ajout d'un type pour les sondages"""
    
        _name = 'survey.type'
        _description = 'Survey Type'
    
        name = fields.Char(required=True, string="Type de sondage")
    
    
    class SurveyProduct(models.Model):
        """Ajout d'un produit lié aux sondages"""
    
        _name = 'survey.product'
        _description = 'Survey Product'
    
        name = fields.Char(required=True, string="Produit lié au sondage")
    
    
    class Survey(models.Model):
        _inherit = "survey.survey"
    
        background_image = fields.Binary('Image de fond')
        type_id = fields.Many2one('survey.type', string="Type", required=True)
        product_id = fields.Many2one('survey.product', string="Produit", required=True)
    
    
    class SurveyQuestion(models.Model):
        _inherit = "survey.question"
        _order = 'page_sequence,sequence,id'  # Change l'ordre des questions en fonction de la séquence des pages
    
        page_sequence = fields.Integer('Séquence de la page associée', related='page_id.sequence', store=True)
        criteria = fields.Char("Critère")
        num_question = fields.Char("Numéro de question")
    
    
    class SurveyLabel(models.Model):
        _inherit = "survey.label"
    
        criteria = fields.Char("Critère")
        num_question = fields.Char("Numéro de question")
    
    
    class SurveyUserInput(models.Model):
        _inherit = "survey.user_input"
    
        @api.multi
        def action_reopen_survey(self):
            """ Passer le sondage à state=skip """
            if self.state == 'done':
                self.update({'state': 'skip', 'last_displayed_page_id': None})
    
        @api.multi
        def action_access_survey(self):
            """ Permet d'accéder au sondage """
            if not self.state == 'done':
                if self.state == 'skip':
                    url_tag = "fill"
                else:
                    url_tag = 'start'
                return {
                    'type': 'ir.actions.act_url',
                    'target': 'new',
                    'url': '/survey/%s/%s/%s' % (url_tag, self.survey_id.id, self.token)
                }