3 votes

Une erreur s'est produite lors de l'installation : Extension is invalid - Adaptation de l'extension chrome dans firefox

J'adapte une extension google-chrome dans firefox.

Cette extension est assez simple, elle recharge simplement la fenêtre du navigateur en cours et y place une chaîne spécifique (elle est utilisée pour activer un état de débogage sur Odoo ).

Cependant, lorsque je la teste sur le site de test de Mozilla, il est indiqué que le test est réussi et que l'extension devrait être prête à fonctionner.

Mais à chaque fois que j'essaie sur mon navigateur sur about:debugging erss, il lance toujours la même chose.

Je viens de mettre à jour le navigateur à la version 57.0 et la même histoire se poursuit.

Voici la structure de mon répertoire (j'ai ajouté l'addon à un fichier zip)

 background.js
 LICENSE
 manifest.json
 off.png
 on.png
 README.md
 super_on.png

Mon fichier manifeste :

{
"name": "My Debug",
"version": "3.3",
"manifest_version": 2,
"description": "Toggle debug mode",
"short_name": "My Debug",
"offline_enabled": true,
"browser_action": {
    "default_icon": "off_.png",
    "default_title": "- Click for Debug \n- Double Click for Debug"
},
"applications": {
      "id": "email@email.com"
},
"incognito": "spanning",
"background": {
    "scripts": ["background.js"]
},
"permissions": ["activeTab", "webNavigation", "*://*/*", "tabs"],
"icons": {
    "16": "off.png",
    "128": "off.png"
}
}

Cela me perturbe :

There was an error during installation: Extension is invalid

Je connais les install.rdf n'est plus nécessaire.

Peut-être une erreur dans le fichier manifeste ?

1voto

ChesuCR Points 5223

Vous n'avez pas besoin d'une extension chrome ou firefox pour activer et définir le mode debug par défaut dans Odoo. Vous pouvez faire quelque chose comme le code suivant dans le cadre d'Odoo. Ce code est tiré de ce module Odoo

  • Créer une classe avec les valeurs de paramétrage

    class DevelopmentToolsConfigSettings(models.TransientModel):
    
        _name = 'development_tools.config.settings'
    
        development_mode = fields.Boolean(
            string='Development mode as default',
            required=False,
            readonly=False,
            index=False,
            default=True,
            help='Set development mode by default'
        )
    
        @api.model
        def get_default_values(self, values):
            return dict(
                development_mode=self.get_debug_mode(),
            )            
    
        def get_debug_mode(self):
            param = self._get_parameter('development_mode')
    
            if param:
                value = self._safe_eval(param.value, bool)
            else:
                value = self._defaults['development_mode']
    
            return value
    
        def _set_debug_mode(self):
            param = self._get_parameter('development_mode', force=True)
            param.value = unicode(self.development_mode)         
  • Annulation web.Home et ajouter le comportement du mode auto-débogage :

    from openerp.http import route, request, Controller, redirect_with_hash
    import openerp.addons.web.controllers.main as webmain
    from openerp.tools.translate import _
    from logging import getLogger
    import werkzeug
    
    _logger = getLogger(__name__)
    
    class Home(webmain.Home):
    
        @route()
        def web_client(self, s_action=None, **kw):
            result = None
    
            if not request.debug and request.db and self._get_debug_mode():
                _logger.info(self._debug_message)
                result = self._build_debug_response()
    
            return result or super(Home, self).web_client(s_action, **kw)
    
        def _get_debug_mode(self):
            config = request.env['development_tools.config.settings']
            debug = config.get_debug_mode()
    
            return debug == True
    
        def _build_debug_response(self):
            result = None
    
            try:
                query = request.params
                query.update({'debug': u''})
                url = '/web?' + werkzeug.url_encode(query)
                result = redirect_with_hash(url)
            except Exception as ex:
                _logger.error(self._error_response.format(ex))
    
            return result
    
        _debug_message = _(u'Auto-redirect to enter in debug mode')
    
        _error_response = _(
            u'The debug response could not be built.\n'
            u'System has said: {}'
        )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X