[FIX] thunderbird plugin installation
authorAntony Lesuisse <al@openerp.com>
Mon, 30 Jan 2012 20:54:50 +0000 (21:54 +0100)
committerAntony Lesuisse <al@openerp.com>
Mon, 30 Jan 2012 20:54:50 +0000 (21:54 +0100)
bzr revid: al@openerp.com-20120130205450-j5qiww84llbc5ric

104 files changed:
addons/plugin_thunderbird/__init__.py
addons/plugin_thunderbird/__openerp__.py
addons/plugin_thunderbird/installer.py [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome.manifest [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config_change.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/create.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/config.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/create.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/dialog.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/overlay.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/push.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/tiny_xmlrpc.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/tools.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/overlay.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push_dialog.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push_new.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/selectpartner.xul [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/style.css [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/address.dtd [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/config.dtd [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/config_change.dtd [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/create.dtd [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/mboximport.properties [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/overlay.dtd [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/plugin.dtd [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/selectpartner.dtd [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Archive.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Create.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Error.gif [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Move.gif [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveDown.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveLeft.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Search.gif [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Success.gif [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/developped_by.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/logo.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/openerp.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/overlay.css [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/perform.gif [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/settings.png [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/components/nsXmlRpcClient.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/components/xml-rpc.xpt [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/defaults/preferences/tiny.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/install.js [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/install.rdf [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/install.sh [deleted file]
addons/plugin_thunderbird/plugin/openerp_plugin/makefile [deleted file]
addons/plugin_thunderbird/plugin_thunderbird.py [new file with mode: 0644]
addons/plugin_thunderbird/plugin_thunderbird.xml [new file with mode: 0644]
addons/plugin_thunderbird/security/ir.model.access.csv [deleted file]
addons/plugin_thunderbird/static/openerp_plugin.xpi [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome.manifest [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin.jar [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/config.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/config_change.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/create.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/config.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/create.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/dialog.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/overlay.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/push.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/tiny_xmlrpc.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/tools.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/overlay.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push_dialog.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push_new.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/selectpartner.xul [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/style.css [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/address.dtd [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/config.dtd [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/config_change.dtd [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/create.dtd [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/mboximport.properties [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/overlay.dtd [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/plugin.dtd [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/selectpartner.dtd [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Archive.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Create.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Error.gif [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Move.gif [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveDown.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveLeft.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Search.gif [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Success.gif [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/developped_by.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/logo.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/openerp.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/overlay.css [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/perform.gif [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/settings.png [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/components/nsXmlRpcClient.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/components/xml-rpc.xpt [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/defaults/preferences/tiny.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/install.js [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/install.rdf [new file with mode: 0644]
addons/plugin_thunderbird/static/thunderbird_plugin/install.sh [new file with mode: 0755]
addons/plugin_thunderbird/static/thunderbird_plugin/makefile [new file with mode: 0644]
addons/plugin_thunderbird/thunderbird_installer.xml [deleted file]

index 70ca2fd..e1c886f 100644 (file)
@@ -19,4 +19,4 @@
 #
 ##############################################################################
 
-import installer
+import plugin_thunderbird
index 04926ea..050855d 100644 (file)
@@ -38,8 +38,7 @@ HR Applicant and Project Issue from selected mails.
       """,
     "init_xml" : [],
     "demo_xml" : [],
-    "update_xml" : ['thunderbird_installer.xml',
-                    'security/ir.model.access.csv'],
+    "update_xml" : ['plugin_thunderbird.xml'],
     "active": False,
     "installable": True,
     "certificate" : "00899858104035139949",
diff --git a/addons/plugin_thunderbird/installer.py b/addons/plugin_thunderbird/installer.py
deleted file mode 100644 (file)
index d0ba1df..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-#    OpenERP, Open Source Management Solution
-#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU Affero General Public License as
-#    published by the Free Software Foundation, either version 3 of the
-#    License, or (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU Affero General Public License for more details.
-#
-#    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-from osv import fields
-from osv import osv
-
-import base64
-import addons
-
-class thunderbird_installer(osv.osv_memory):
-    _name = 'thunderbird.installer'
-    _inherit = 'res.config.installer'
-
-    _columns = {
-        'name':fields.char('File name', size=34),
-        'pdf_name':fields.char('File name', size=64),
-        'thunderbird':fields.boolean('Thunderbird Plug-in', help="Allows you to select an object that you would like to add to your email and its attachments."),
-        'plugin_file':fields.char('Thunderbird Plug-in', size=256, readonly=True, help="Thunderbird plug-in file. Save as this file and install this plug-in in thunderbird."),
-        'pdf_file':fields.char('Installation Manual', size=264, help="The documentation file :- how to install Thunderbird Plug-in.", readonly=True),
-        'description':fields.text('Description', readonly=True)
-    }
-
-    _defaults = {
-        'thunderbird' : True,
-        'name' : 'openerp_plugin.xpi',
-        'pdf_file' : 'http://doc.openerp.com/book/2/2_6_Comms/2_6_Comms_thunderbird.html',
-        'plugin_file' : 'https://addons.mozilla.org/en-US/thunderbird/addon/openerp-plugin/',
-        'description' : """
-Thunderbird plugin installation:
-    1.  Save the Thunderbird plug-­in.
-    2.  From the menu bar of Thunderbird, open Tools ­> Add-ons.
-    3.  Click "Install".
-    4.  Select the plug-in (the file named openerp_plugin.xpi).
-    5.  Click "Install Now".
-    6.  Restart Thunderbird.
-
-Configure OpenERP in Thunderbird:
-    1.  Go to Tools > OpenERP Configuration.
-    2.  Check the data (configured by default).
-    3.  Click "Connect".
-    4.  A message appears with the state of your connection.
-    5.  If the connection fails, check if your database is opened, and check the data again.
-    6.  If the connection succeeds, start to archive e-mails in OpenERP.
-"""
-    }
-
-thunderbird_installer()
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome.manifest b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome.manifest
deleted file mode 100644 (file)
index a587ab5..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-interfaces components/xml-rpc.xpt
-component {4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa} components/nsXmlRpcClient.js
-contract @mozilla.org/xml-rpc/client;1 {4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa}
-category profile-after-change @mozilla.org/xml-rpc/client;1
-content        openerp_plugin  jar:chrome/openerp_plugin.jar!/content/
-overlay        chrome://messenger/content/messenger.xul        chrome://openerp_plugin/content/overlay.xul
-locale openerp_plugin  en-US   jar:chrome/openerp_plugin.jar!/locale/en-US/
-skin   openerp_plugin  classic/1.0 jar:chrome/openerp_plugin.jar!/skin/
-#style chrome://global/content/customizeToolbar.xul    chrome://openerp_plugin/skin/overlay.css
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar
deleted file mode 100644 (file)
index de15f57..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin.jar and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config.xul
deleted file mode 100644 (file)
index 86e5553..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0"?>\r
-<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>\r
-<?xml-stylesheet href="style.css" type="text/css"?>\r
-<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/config.dtd">\r
-\r
-<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"\r
-       xmlns:html="http://www.w3.org/1999/xhtml"\r
-       title="&title.label;" onload="load_config_data();" height="500" width="580">\r
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>\r
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>\r
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/config.js"></script>\r
-<tabbox>\r
-  <tabs>\r
-    <tab label="Configuration Settings"/>\r
-    <tab label="About"/>\r
-  </tabs>\r
-  <tabpanels>\r
-    <tabpanel id="configtab">\r
-       <vbox>\r
-               <groupbox id="gpConnection" align ="center" width="530">\r
-                               <grid flex="1">\r
-                                       <columns>\r
-                                               <column  />\r
-                                               <column  />\r
-                                               <column flex="1"/>\r
-                                       </columns>\r
-                                       <rows>\r
-                                       <row>\r
-                                               <label  align="right" id="url"  value="&txturl.label;" width="80"  class="text-prompt"/>\r
-                                                       <textbox id="txturl" width="300" readonly="true" />\r
-                                                       <button label="&getdblist.label;" oncommand="openConfigChange();" image="&imagesearch.value;" width="90"/>\r
-                                       </row>\r
-                                       <row>\r
-                                                       <label align="right" id="lbldb_list1" control="DBlist" value="&database.label;" width="80" class="text-prompt"/> \r
-                                                       <textbox id="DBlist_text" width="300"/>\r
-                                       </row>\r
-                                       <row>\r
-                                                       <label align="right"  control="txtusername" value="&username.label;" width="80" class="text-prompt"/>\r
-                                                       <textbox id="txtusername" width="300"/>\r
-                                       </row>\r
-                                       <row>\r
-                                                       <label align="right" control="txtpassword" value="&password.label;" width="80" class="text-prompt"/>\r
-                                                       <textbox id="txtpassword" type="password" width="300"/>\r
-                                       </row>\r
-                                       </rows>\r
-                               </grid>\r
-                               \r
-                <separator class="groove-thin" orient="horizontal" width="94"/> \r
-                       </groupbox>\r
-                       <hbox align="right" >\r
-                               <button  id="btconnection" label="&connection.label;" oncommand="connection();" image="&imageok.value;" width="100"/>\r
-                       </hbox>\r
-               </vbox>\r
-               \r
-        <separator class="groove-thin" orient="horizontal" width="10"/> \r
-    </tabpanel>\r
\r
-    <tabpanel id="abouttab">\r
-               <groupbox id="gpAbout" width="570" align="center">\r
-                       <caption label="&gpAbout.label;" align="center"/>\r
-\r
-                       <vbox style="border:1px solid black" width="560"/>\r
-                       <description>&openerp.paresent;</description>\r
-                       <image src="chrome://openerp_plugin/skin/logo.png" sizemode="stretch" align="center"/>\r
-\r
-                       <description> </description>\r
-                       <description> </description>\r
-                       <description>&develop.value;</description>\r
-                       <image src="chrome://openerp_plugin/skin/developped_by.png" sizemode="stretch" align="center"/>\r
-                       <description> </description>\r
-                       <description> </description>\r
-                       <description>&information.value;</description>\r
-                       <description><html:a href="&openerp.value;">&openerp.value;</html:a></description>\r
-                       \r
-                       <description><html:a href="&axelor.value;">&axelor.value;</html:a></description>\r
-                       <description><html:a href="&tinyerp.value;">&tinyerp.value;</html:a></description>\r
-                       <description> </description>\r
-                       <description> </description>\r
-                       <description>Copyright © 2006-TODAY OpenERP SA All Rights Reserved.</description>\r
-                       <description>OpenERP is a trademark of the OpenERP SA Company. OpenERP Web is jointly developed by OpenERP SA &amp; Axelor.</description>\r
-                       <description>Licenced under the terms of <html:a href="https://tiny.odoo.com/LICENSE.txt"> OpenERP Public License (OEPL) v1.1 (https://tiny.odoo.com/LICENSE.txt)</html:a> </description>\r
-               </groupbox>\r
-    </tabpanel>\r
-  </tabpanels>\r
-</tabbox>\r
-</window>\r
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config_change.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/config_change.xul
deleted file mode 100644 (file)
index 00a4869..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
-<?xml-stylesheet href="style.css" type="text/css"?>
-<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/config_change.dtd">
-<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-       xmlns:html="http://www.w3.org/1999/xhtml"  onload="config_change_load();"
-       title="Openerp Connection" height="190" width="330">
-       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
-       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
-       <script type="text/javascript" src="chrome://openerp_plugin/content/js/config.js"></script>
-       <separator class="groove-thin" orient="horizontal" width="10"/> 
-       <grid flex="1">
-               <columns>
-                       <column  />
-                       <column flex="1"/>
-               </columns>
-               <rows>
-               <row>
-                       <label id="lblurl" control="txtcurl" value="&lblurl.label;" class="text-prompt"/>
-                               <textbox id="txtcurl" width="170" />
-               </row>
-               <row>
-                               <label id="lblport" control="txtcport" value="&lblport.label;" class="text-prompt"/>
-                               <textbox id="txtcport" width="170" />
-               </row>
-               <row>
-                               <label id="dbprotocol"  value="&lblprotocol.label;" class="text-prompt" />
-                               <menulist id="dbprotocol_list" width="140">
-                                       <menupopup>
-                                               <menuitem label="XML-RPC" value="http://"/>
-                                               <menuitem label="XML-RPCS" value="https://"/>
-                                       </menupopup>
-                               </menulist>
-               </row>
-               </rows>
-       </grid>
-       <hbox align="right">
-               <button label="Close" image="&imagecancel.value;" oncommand="config_close();" />
-               <button label="OK" image="&imageok.value;" oncommand="config_ok()"/>
-       </hbox>
-       <separator class="groove-thin" orient="horizontal" width="10"/> 
-</window>
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/create.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/create.xul
deleted file mode 100644 (file)
index cc47b89..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
-<?xml-stylesheet href="style.css" type="text/css"?>
-<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/create.dtd">
-<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-       xmlns:html="http://www.w3.org/1999/xhtml"
-       title="&title.label;" onload="load_createContact();" id="create_partner_window">
-       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
-       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
-       <script type="text/javascript" src="chrome://openerp_plugin/content/js/create.js"></script>
-       <groupbox id="contact" >
-               <hbox>
-                       <textbox class="plain" style="background-color: transparent;" flex="1"
-                               multiline="true" readonly="true"
-                               onoverflow="this.height = this.inputField.scrollHeight;"
-                               value="No existing contact found, you can create a new partner with this contact or link to a existing partner" />
-               </hbox>
-               <hbox>
-                       <label align="right" id="partner" value="&selectpartner.value;" width="90" class="text-prompt"/>
-                       <textbox id="txtselectpartner" readonly="true" value="" width="170"/>
-                       <button label="Link to partner" oncommand="open_window('chrome://openerp_plugin/content/selectpartner.xul', 400, 400);" image="&imagesearch.value;"/>
-                       <button label="Clear" oncommand="clear();"/>
-               </hbox>
-       </groupbox>
-       <groupbox id="information" >
-               <caption label="Address Detail" />
-               <grid flex="1">
-                       <columns>
-                               <column />
-                               <column flex="1"/>
-                       </columns>
-                       <rows>
-                       <row>
-                               <label  align="right" id="name"  value="&name.value;" width="90" class="text-prompt"/>
-                               <textbox id="txtname" align="right" />
-                       </row>
-                       <row>
-                               <label  align="right" id="emailid"  value="&email.value;" width="90" class="text-prompt"/>
-                                       <textbox id="txtemail" align="right"/>
-                       </row>
-                       </rows>
-               </grid>
-           <separator class="groove-thin" orient="horizontal" width="90"/> 
-       </groupbox>
-       <hbox align="right">
-               <button label="cancel" image="&imagecancel.value;" oncommand="close();" />
-               <button label="create partner" image="&imageok.value;" oncommand="createContact();"/>
-       </hbox>
-</window>
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/config.js b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/config.js
deleted file mode 100644 (file)
index f0f2d75..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-function load_config_data() {
-           getDbList('DBlist');
-           document.getElementById("txturl").value = getServer();
-           document.getElementById("txtusername").value = getUsername();
-           document.getElementById("txtpassword").value = getPassword();
-           document.getElementById("DBlist_text").value = getDbName();
-}
-
-function config_close() {
-   window.close("chrome://openerp_plugin/content/config_change.xul", "", "chrome");
-   open_window('chrome://openerp_plugin/content/config.xul', 580,500);
-}
-
-//set the value of the configuration fields
-function config_change_load() {
-    document.getElementById('txtcurl').value = getPreferenceDefault('server_name', 'localhost')
-    document.getElementById('txtcport').value = getPreferenceDefault('serverport', '8069')
-}
-
-
-function config_ok()
-{
-    var protocol = document.getElementById("dbprotocol_list").value
-    if (document.getElementById('txtcurl').value == '' || document.getElementById('txtcport').value == '') {
-        alert("You Must Enter Server Name and a Port!")
-        return false;
-    }
-    setPreference('serverport', document.getElementById('txtcport').value)
-    setPreference('server_name', document.getElementById('txtcurl').value)
-    setServer(document.getElementById("dbprotocol_list").value+document.getElementById('txtcurl').value +":" + document.getElementById('txtcport').value);
-    config_close()
-}
-
-function openConfigChange() {
-    window.close("chrome://openerp_plugin/content/config.xul", "", "chrome");
-    open_window("chrome://openerp_plugin/content/config_change.xul", 350,200);
-}
-
-//xmlrpc request handler for getting the list of database
-var listDbHandler = {
-    onResult: function(client, context, result) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var arrMethodList = result.QueryInterface(Components.interfaces.nsISupportsArray);
-        var count = arrMethodList.Count();
-        if (count < 1) {
-               setDBList("false");
-               return
-        }
-
-        setDBList("true");
-        dbname_saved = getPreference("serverdbname")
-        
-        var menu1 = document.createElement("menulist");
-        menu1.setAttribute("id","DBlist");
-        menu1.setAttribute("width","300");
-        var menupopup1 = document.createElement("menupopup");
-        menu1.appendChild(menupopup1)
-        
-        // Loop through the results, adding items to the list
-        for (i = 0; i < count; i++) {
-            var dbname  = arrMethodList.QueryElementAt(i, Components.interfaces.nsISupportsCString).data;
-               menupopup1.appendChild(createMenuItem(dbname, dbname));
-               if (dbname == dbname_saved) {
-                       index = i
-               }
-        }
-        
-        var db_text_field = document.getElementById("DBlist_text");
-        db_text_field.parentNode.replaceChild(menu1, db_text_field);
-
-        menu1.selectedIndex = index
-    },
-
-
-    onFault: function (client, ctxt, fault) {
-        setDBList("false");
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-        setDBList("false");       
-    }
-};
-//function to get the database list
-function getDbList(argControl) {
-    setDBList("false");
-    setServerService('xmlrpc/db');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    var cmbDbList = document.getElementById(argControl);
-
-    xmlRpcClient.asyncCall(listDbHandler,cmbDbList,'list',[],0);
-    return [];
-}
-
-
-function check_database() {
-       if (getDBList()=="false") {
-        if (document.getElementById('DBlist_text').value =='') {
-            alert("You Must Enter Database Name.");
-            return false;
-        }
-        return document.getElementById('DBlist_text').value;
-    }
-    else {
-        return document.getElementById('DBlist').value;
-    }
-       
-}
-
-function connection() {
-       callback = check_connection(login_success)
-    setPreference('serverdbname', check_database())
-    setServer(document.getElementById('txturl').value);
-    setUsername(document.getElementById('txtusername').value);
-    setPassword(document.getElementById('txtpassword').value);
-       login() 
-}
-//function to check the login information
-function login_success() {
-       alert("login successfull");
-       window.close("chrome://openerp_plugin/content/config.xul", "", "chrome");
-}
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/create.js b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/create.js
deleted file mode 100644 (file)
index 9a54913..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-function load_createContact() {
-    document.getElementById("txtname").value = getSenderName();
-    document.getElementById("txtemail").value = getSenderEmail();
-    setPartnerId(0);
-}
-
-//function to create the xmlrpc supported variables for xmlrpc request
-function dictcontact(a,b){
-    var temp = xmlRpcClient.createType(xmlRpcClient.ARRAY,{});
-    for(i=0;i<a.length;i++){
-        var strkey = xmlRpcClient.createType(xmlRpcClient.STRING,{});
-        strkey.data = a[i]
-        var strvalue = xmlRpcClient.createType(xmlRpcClient.STRING,{});
-        strvalue.data = b[i]
-        var test = xmlRpcClient.createType(xmlRpcClient.ARRAY,{});
-        test.AppendElement(strkey);
-        test.AppendElement(strvalue);
-        temp.AppendElement(test);
-    }
-    return temp;
-}
-
-function selectPartner(){
-       var item = document.getElementById('listPartnerBox').selectedItem
-       if(item) {
-               var label = item.label;
-               setPartnerId(item.value);
-               document.getElementById('txtselectpartner').setAttribute('value', label);
-               window.opener.document.getElementById('txtselectpartner').setAttribute('value', label);
-       }
-}
-
-function clear() {
-       setPartnerId(0);
-       document.getElementById('txtselectpartner').setAttribute('value', '');
-}
-
-
-//xmlrpc request handler for getting the list of partners
-var listPartnerHandler = {
-
-    onResult: function(client, context, result) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var arrMethodList = result.QueryInterface(Components.interfaces.nsISupportsArray);
-                // Set the number of results
-        var count = arrMethodList.Count();
-        var close=0;
-        clear_search_box('listPartnerBox')
-        // Loop through the results, adding items to the list
-        var cmbSearchList = document.getElementById('listPartnerBox');
-        for (i = 0; i < count; i++) {
-               var temp = arrMethodList.QueryElementAt(i, Components.interfaces.nsISupportsArray);
-            id = temp.QueryElementAt(0, Components.interfaces.nsISupportsPRInt32);
-            name = temp.QueryElementAt(1, Components.interfaces.nsISupportsCString);
-            var listItem = document.createElement("listitem");
-            cmbSearchList.appendItem(name, id)
-        }
-        
-    },
-    onFault: function (client, ctxt, fault) {
-               log_message(fault)
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-               log_message(errorMsg)
-    }
-}
-
-//function to get the list of partners
-function getPartnerList(){
-    setServerService('xmlrpc/object');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    
-       var cmdPartnerList = document.getElementById('listPartnerBox');
-    
-    var name = document.getElementById('txtselectpartner').value;
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
-    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
-    var strmethod = get_rpc_string(xmlRpcClient, 'list_document_get');
-    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
-    var strmodel = get_rpc_string(xmlRpcClient, 'res.partner');
-    var strname = get_rpc_string(xmlRpcClient, name);
-    xmlRpcClient.asyncCall(listPartnerHandler,cmdPartnerList,'execute',[ strDbName,struid,strpass,strobj,strmethod,strmodel, strname ],7);
-}
-
-
-
-//xmlrpc request handler for creating a new contact
-var listCreateContactHandler = {
-    onResult: function(client, context, result) {
-        res = extract_data(result)
-        open_url(res[URL])
-        window.close();
-    },
-    onFault: function (client, ctxt, fault) {
-               log_message(fault)
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-               log_message(errorMsg)
-    }
-}
-
-
-//function to create a new contact
-function createContact(){
-    setServerService('xmlrpc/object');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
-    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
-    var strmethod = get_rpc_string(xmlRpcClient, 'list_document_get');
-    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
-    var strmethod = get_rpc_string(xmlRpcClient, 'contact_create');
-    var strpartnerid = get_rpc_int(xmlRpcClient, getPartnerId()); 
-    var a = ['name','email'];
-    var b = [document.getElementById("txtname").value, document.getElementById("txtemail").value];
-    var arrofarr = dictcontact(a,b);
-    xmlRpcClient.asyncCall(listCreateContactHandler,null,'execute',[strDbName,struid,strpass,strobj,strmethod,arrofarr, strpartnerid], 7);
-}
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/dialog.js b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/dialog.js
deleted file mode 100644 (file)
index 3a40295..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-function load_contact_dialog() {
-       log_message("load contact dialog")
-       if (getPreference('statutdoc')=='open') {
-               document.getElementById('open_document').hidden=false;
-               document.getElementById('new').hidden=false; 
-               document.getElementById('message_label').value="Document found"
-    }
-    else {           
-       document.getElementById('open_document').hidden=true;
-       document.getElementById('new').hidden=false;
-       document.getElementById('message_label').value="Document not found"
-       }
-}
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/overlay.js b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/overlay.js
deleted file mode 100644 (file)
index a271f72..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-//global array creation and declaration\r
-\r
-var MBstrBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"].\r
-            getService(Components.interfaces.nsIStringBundleService);\r
-var mboximportbundle = MBstrBundleService.createBundle("chrome://mboximport/locale/mboximport.properties"); \r
-//function to get the required details of the selected email\r
-\r
-function check(fun) {\r
-       cb = function() {\r
-               if(GetNumSelectedMessages() < 1 || GetNumSelectedMessages() > 1) {\r
-               alert("You must select only one mail to archive");\r
-               return false\r
-       }\r
-       return fun()\r
-       }\r
-    if(getPreference('userid', 'INT') == 0 || getmodule_install() == "no") {\r
-       callback = check_connection(cb)\r
-       login()\r
-       return False\r
-    }\r
-    \r
-    return cb()\r
-\r
-}\r
-\r
-var openPartnerHandler = {\r
-    onResult: function(client, context, result) {\r
-        res = extract_data(result)\r
-        if(res[RES_ID]==0) {\r
-               open_window("chrome://openerp_plugin/content/create.xul", 550, 250);\r
-            return;\r
-        } \r
-        open_url(res[URL])\r
-        \r
-        \r
-        \r
-    },\r
-    onFault: function (client, ctxt, fault) {\r
-               log_message(fault);\r
-    },\r
-\r
-    onError: function (client, ctxt, status, errorMsg) {\r
-               log_message(errorMsg)\r
-    }\r
-\r
-}\r
-\r
-function searchPartner(email)\r
-{\r
-    setServerService('xmlrpc/object');\r
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');\r
-\r
-    var xmlRpcClient = getXmlRpc();\r
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));\r
-    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));\r
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));\r
-    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');\r
-    var strmethod = get_rpc_string(xmlRpcClient, 'partner_get');\r
-    var strname = get_rpc_string(xmlRpcClient, email);\r
-    xmlRpcClient.asyncCall(openPartnerHandler,null,'execute',[ strDbName,struid,strpass,strobj,strmethod,strname ],6);\r
-}\r
-\r
-\r
-function open_partner()\r
-{\r
-    //gives the selected email uri\r
-    var messageUri= gDBView.URIForFirstSelectedMessage;\r
-    \r
-\r
-    var messenger = Components.classes['@mozilla.org/messenger;1'].createInstance(Components.interfaces.nsIMessenger);\r
-\r
-    //gives the selected email object \r
-    var message = messenger.messageServiceFromURI(messageUri).messageURIToMsgHdr(messageUri);\r
-    //functionality to split the author name and email\r
-    if(message.author.charAt(0) == '"'){\r
-        sendername = message.author.split('"')[1].split('"')[0];\r
-    }\r
-    else if(message.author.indexOf('<')!=-1){\r
-        sendername = message.author.split('<')[0];\r
-    }\r
-    else{\r
-        sendername = message.author;\r
-    }\r
-    if(message.author.indexOf('<')!=-1){\r
-        senderemail = message.author.split('<')[1].split('>')[0];\r
-    }\r
-    else{\r
-        senderemail = message.author;\r
-    }\r
-    setPreference('senderemail', senderemail);\r
-    setPreference('sendername', sendername);\r
-    searchPartner(senderemail);\r
-}\r
-\r
-\r
-var listDocumentHandler = {\r
-    onResult: function(client, context, result) {\r
-        res = extract_data(result)\r
-        \r
-        if(res[RES_ID]==0) {\r
-            setPreference('statutdoc','create');\r
-        }\r
-        else {\r
-            setPreference('statutdoc', 'open');\r
-            setPreference('urldoc', res[URL]);\r
-        } \r
-       open_window("chrome://openerp_plugin/content/push_dialog.xul", 480, 110);       \r
-\r
-    },\r
-    onFault: function (client, ctxt, fault) {\r
-               log_message(fault);\r
-    },\r
-\r
-    onError: function (client, ctxt, status, errorMsg) {\r
-               log_message(errorMsg)\r
-    }\r
-} \r
-\r
-function open_document() {\r
-    var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);\r
-\r
-    //gives the selected email uri\r
-    var messageUri = gDBView.URIForFirstSelectedMessage;\r
-    \r
-    var branchobj = getPref();\r
-    \r
-    setServerService('xmlrpc/object');\r
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');\r
-    \r
-    var xmlRpcClient = getXmlRpc();\r
-    var strDbName = get_rpc_string(xmlRpcClient, branchobj.getCharPref("serverdbname"));\r
-    var struids = get_rpc_int(xmlRpcClient, branchobj.getIntPref('userid'));\r
-    var strpass = get_rpc_string(xmlRpcClient, branchobj.getCharPref("password"));\r
-    var strmethod = get_rpc_string(xmlRpcClient, 'document_get');\r
-    \r
-    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');\r
-    \r
-    var eml_string = getMessage(messageUri);\r
-    setPreference('email_text', eml_string);\r
-    var email = get_rpc_string(xmlRpcClient, eml_string);\r
-    xmlRpcClient.asyncCall(listDocumentHandler,null,'execute',[strDbName,struids,strpass,strobj,strmethod, email],6);\r
-}\r
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/push.js b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/push.js
deleted file mode 100644 (file)
index be345b2..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-//xmlrpc request handler for list of search object exist in database or not.
-var DocumentTypeHandler = {
-    onResult: function(client, context, result) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var modelListRPC = result.QueryInterface(Components.interfaces.nsISupportsArray);
-        
-        var menu_popup = document.getElementById("model_list");
-        for(i = 0; i < modelListRPC.Count(); i++) {
-               var temp_array = modelListRPC.QueryElementAt(i, Components.interfaces.nsISupportsArray);
-            var model_value = temp_array.QueryElementAt(0, Components.interfaces.nsISupportsCString);
-            var model_name = temp_array.QueryElementAt(1, Components.interfaces.nsISupportsCString);
-            if(i == 0) {
-               var menuitem = document.getElementById("first_model_list");
-               menuitem.setAttribute("label", model_name);
-               menuitem.setAttribute("value", model_value);
-            }
-            else {
-               menu_popup.appendChild(createMenuItem(model_name, model_value));
-            }
-            
-        }
-    },
-
-    onFault: function (client, ctxt, fault) {
-               log_message("Fault getDocument : " + fault)
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-               log_message("Error getDocument : " + errorMsg)
-    }
-}
-
-//function to create a new attachment record
-function getDocumentType(){
-    setServerService('xmlrpc/object');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
-    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
-    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
-    var strmethod = get_rpc_string(xmlRpcClient, 'document_type');
-    xmlRpcClient.asyncCall(DocumentTypeHandler,null,'execute',[strDbName,struid,strpass,strobj,strmethod], 5);
-}
-
-/**
- * Search Handler : Fill the result of list_document_get in the listbox
- */
-//xmlrpc request handler for getting the search results for the particular selected check box object
-var listSearchCheckboxHandler = {
-    onResult: function(client, context, result) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var arrMethodList = result.QueryInterface(Components.interfaces.nsISupportsArray);
-                // Set the number of results
-        var count = arrMethodList.Count();
-        var close=0;
-        clear_search_box('listSearchBox')
-        if(count == 0){
-            alert("No Records Found");
-            return false;
-        }
-       
-        // Loop through the results, adding items to the list
-        var cmbSearchList = document.getElementById('listSearchBox');
-
-        for (i = 0; i < count; i++) {
-               var temp = arrMethodList.QueryElementAt(i, Components.interfaces.nsISupportsArray);
-            id = temp.QueryElementAt(0, Components.interfaces.nsISupportsPRInt32);
-            name = temp.QueryElementAt(1, Components.interfaces.nsISupportsCString);
-            var listItem = document.createElement("listitem");
-            cmbSearchList.appendItem(name, id)
-        }
-    },
-
-    onFault: function (client, ctxt, fault) {
-               log_message(fault)
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-               log_message(errorMsg)
-    }
-};
-
-//function to search the records of selected checkbox object
-function searchCheckbox()
-{
-       model_name = document.getElementById('menu_model_list').selectedItem.value;
-       name = document.getElementById('txtvalueobj').value
-
-    setServerService('xmlrpc/object');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    var cmbSearchList = document.getElementById('listSearchBox');
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
-    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
-    var strmethod = get_rpc_string(xmlRpcClient, 'list_document_get');
-    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
-    var strmodel = get_rpc_string(xmlRpcClient, model_name);
-    var strname = get_rpc_string(xmlRpcClient, name);
-    
-    xmlRpcClient.asyncCall(listSearchCheckboxHandler,cmbSearchList,'execute',[ strDbName,struid,strpass,strobj,strmethod, strmodel, strname],7);
-}
-
-
-
-//xmlrpc request handler for creating the record of mail
-var pushHandler = {
-    onResult: function(client, context, result) {
-        res = extract_data(result)
-        alert(res[ADDITIONAL_INFORMATION])
-        open_url(res[URL]);
-           window.close();
-    },
-    
-    onFault: function (client, ctxt, fault) {
-               log_message(fault)
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-               log_message(errorMsg)
-    }
-}
-
-
-function push(op) {
-       var model_name = document.getElementById('menu_model_list').selectedItem.value;
-       var res_id = 0;
-       if(op == "add") {
-               var item = document.getElementById('listSearchBox').selectedItem
-               if (String(item) == "null") {
-                       alert("select at least one Document !")
-                       return
-               }
-               
-               var res_id = item.value;
-               
-       }       
-       setServerService('xmlrpc/object');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
-    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
-    var strmethod = get_rpc_string(xmlRpcClient, 'push_message');
-    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
-    var stremail = get_rpc_string(xmlRpcClient, getPreference('email_text'));
-       var strmodel =  get_rpc_string(xmlRpcClient, model_name);
-       var strres_id = get_rpc_int(xmlRpcClient, res_id);
-    xmlRpcClient.asyncCall(pushHandler,null,'execute',[strDbName,struid,strpass,strobj,strmethod,strmodel, stremail, strres_id],8);
-}
-
-
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/tiny_xmlrpc.js b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/tiny_xmlrpc.js
deleted file mode 100644 (file)
index 0b26a8e..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-/************************************************************
-*    OpenERP, Open Source Management Solution
-*    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-*
-*    This program is free software: you can redistribute it and/or modify
-*    it under the terms of the GNU Affero General Public License as
-*    published by the Free Software Foundation, either version 3 of the
-*    License, or (at your option) any later version.
-*
-*    This program is distributed in the hope that it will be useful,
-*    but WITHOUT ANY WARRANTY; without even the implied warranty of
-*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*    GNU Affero General Public License for more details.
-*
-*    You should have received a copy of the GNU Affero General Public License
-*    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-***************************************************************/
-
-var xmlRpcClient;
-
-//Service name on server like /common,/db etc...
-var strServerService;
-
-
-var uri = new Array();
-var name = new Array();
-var rpc= {
-    servers: {},
-    addserver: function(name,ip,port,path) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        this.servers[name]= {
-            ip: ip,
-            port: port,
-            path: path,
-            avaible: true,
-            sock: Components.classes['@mozilla.org/xml-rpc/client;1'].createInstance(Components.interfaces.nsIXmlRpcClient)};
-    },
-    getany: function(rpcval,n) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var t = ['PRUint8','PRUint16','PRInt16','PRInt32','PRBool','Char','CString','Float','Double','PRTime','InputStream','Array','Dictionary'];
-        for (var i=0; i<t.length; i++)
-            try { return [t[i],this.Iget(rpcval,Components.interfaces[((i==10 || i==12)? 'nsI': 'nsISupports')+t[i]],n)]; } catch(e) {}
-        return [false,'error getany','Undefined type'];
-    },
-    onfault: function(t) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        return (t.constructor==Array && t.length==3 && !t[0] && (t[1].substr(0,5)=='error' || t[1].substr(0,5)=='fault'))?
-            true : false;
-    },
-    getall: function(rpcval,n) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var t = this.getany(rpcval,n);
-        if (this.onfault(t)) return t;
-        if (t[0]=='PRBool') return (t[1]=='true');
-        if (t[0]=='PRInt32') return parseInt(t[1]+'');
-        if (t[0]=='PRTime') {
-            dte= new Date("January 1, 1970, 00:00:00");
-            dte.setUTCMilliseconds(t[1]+'');
-            return dte; }
-        if (t[0]=='Double' || t[0]=='Float') return parseFloat(t[1]+'');
-        if (t[0]=='Char' || t[0]=='CString') return (t[1]+'').replace(/¬/g,'€');
-        if (t[0]=='Array') {
-            var a=[];
-            for (var i=0; i<t[1].Count(); i++) a[i]= this.getall(t[1],i);
-        } else if (t[0]=='Dictionary') {
-            var a={};
-            var keys = t[1].getKeys({});
-            for (var k = 0; k < keys.length; k++)
-                a[keys[k]]= this.getall(t[1],keys[k]);
-        } else return t[1];
-        return a;
-    },
-    Iget: function(rpcval,itype,n) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        if (n == undefined) return rpcval.QueryInterface(itype);
-        else if (n==parseInt(n)) return rpcval.QueryElementAt(n,itype);
-        else return rpcval.getValue(n).QueryInterface(itype);
-    },
-    checktype: function(val) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        if (val != undefined) {
-            switch (val.constructor) {
-                case Number: return (val==parseInt(val))? 1:4;
-                case Boolean: return 2;
-                case String: return 3;
-                case Date: return 5;
-                case Object: return 7;
-                case Array: return 6;
-
-            }
-        }
-        return 7;
-
-    },
-    set: function(rpcobj,param) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        if (param==undefined) return [false,'error set','Undefined parameter'];
-        var itype= this.checktype(param);
-        if (this.onfault(itype)) return itype;
-        var p = this.servers[rpcobj].sock.createType(itype,{});
-        if (itype==6) {
-            if (param.length>0)
-                for (var i=0; i<param.length; i++) p.AppendElement( this.set(rpcobj,param[i]) );
-        } else if (itype==7) {
-            for (var i in param) p.setValue( i, this.set(rpcobj,param[i]) );
-        } else if (itype==4) {
-            p.data=(''+param).replace(',','.');
-        } else p.data=param;
-        return p;
-    },
-    ask: function(rpcobj,method,params,func_out) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var a=this.disableNset(rpcobj) ;
-        if (this.onfault(a)) return a;
-        var handler = {
-            onResult: function(client, async, result) {
-                rpc.servers[rpcobj].avaible= true;
-                func_out(rpc.getall(result)); },
-            onFault: function (client, async, faute) {alert("in ask infault"+result)
-                 rpc.servers[rpcobj].avaible= true; func_out([false,'fault',faute]); },
-            onError: function (client, async, status, msg) {
-                rpc.servers[rpcobj].avaible= true;
-                if (status=='2147500037') {
-                    status= "no network or no server";
-                    msg= "1. Check your network connection.";
-                    msg+= "\n2. Check your server connection parameters:";
-                    msg+= "\n\t"+rpc.servers[rpcobj].ip+":"+rpc.servers[rpcobj].port+"=>"+params[0];
-                    msg+= "\n3. Your server may not be launched or connected to the network.";
-                }
-                func_out([false,'error '+status,msg]);
-                } };
-        var p = [];
-        for (var i=0; i<params.length; i++)
-            p[i]= this.set(rpcobj,params[i]);
-        try { this.servers[rpcobj].sock.asyncCall(handler, null, method, p, p.length);
-        } catch(e) {
-            this.servers[rpcobj].avaible= true;
-            this.servers[rpcobj].sock= Components.classes['@mozilla.org/xml-rpc/client;1'].createInstance(Components.interfaces.nsIXmlRpcClient) ;
-            func_out([false,'error catch',e]); }
-        return true;
-    },
-    disableNset: function(rpcobj) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        if (this.servers[rpcobj]) {
-            this.servers[rpcobj].avaible= false;//alert('http://'+this.servers[rpcobj].ip+':'+this.servers[rpcobj].port+this.servers[rpcobj].path);
-            server_path=this.servers[rpcobj].ip+':'+this.servers[rpcobj].port+this.servers[rpcobj].path
-            this.servers[rpcobj].sock.init(server_path);
-            
-            return true; }
-        return [false,'error disableNset','Server vars not set'];
-    }
-}
-
-var callback = null;
-
-//Sets the preference service
-function getPref(){
-    var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
-    var branchobj = prefService.getBranch("extensions.tiny.");
-    branchobj.QueryInterface(Components.interfaces.nsIPrefBranch2);
-    return branchobj
-}
-
-function getPreference(key, type) {
-    if (!type || type == 'STRING') {
-        return getPref().getCharPref(key);
-    }
-    if (type == 'INT') {
-        return getPref().getIntPref(key);
-    }
-}
-
-function getPreferenceDefault(key, default_value, type) {
-       res = getPreference(key, type)
-       if (!res || res == "") 
-               return default_value
-       return res
-}
-
-function setPreference(key, value, type) {
-    
-    if (!type || type == 'STRING') {
-        getPref().setCharPref(key, value);
-    }
-    if (type == 'INT') {
-        getPref().setIntPref(key, value);
-    }
-}
-
-
-
-function setServerName(server) {
-       setPreference('server_name', server)
-}
-
-function getServerName(server) {
-       getPreference('server_name')
-}
-
-//set preference value for server port
-function setPort(argPort){
-    getPref().setCharPref('serverport',argPort)
-}
-
-//get server port
-function getPort(){
-    return getPref().getCharPref('serverport');
-}
-
-
-
-
-//set preference value for server url
-function setServer(argServer){
-    getPref().setCharPref('serverurl',argServer);
-}
-
-//set preference value of username for login
-function setUsername(argUsername){
-    getPref().setCharPref('username',argUsername);
-}
-
-//set preference value of password for login
-function setPassword(argPassword){
-    getPref().setCharPref('password',argPassword);
-}
-
-
-//set server service
-function setServerService(argServerService){
-    strServerService = argServerService;
-}
-
-
-
-//set preference value for storing partner id
-function setPartnerId(argPartnerId){
-    getPref().setCharPref('partnerid',argPartnerId)
-}
-
-
-//set preference value for storing user id
-function setUserId(argUserId){
-    getPref().setIntPref('userid',argUserId);
-}
-
-//set database list is displaye or not
-function setDBList(argDBList){
-    getPref().setCharPref('db_list',argDBList)
-}
-
-//set module install or not
-function setmodule_install(argconnect_module){
-    getPref().setCharPref('module_install',argconnect_module)
-}
-
-//get module install or not
-function getmodule_install(){
-    return getPref().getCharPref('module_install');
-}
-
-
-//get partner id
-function getPartnerId(){
-    return getPref().getCharPref('partnerid');
-}
-//get database list is displaye or not
-function getDBList(){
-    return getPref().getCharPref('db_list');
-}
-
-//get serverurl
-function getServer(){
-    return getPref().getCharPref('serverurl');
-}
-
-
-//get database name
-function getDbName(){
-    return getPref().getCharPref('serverdbname');
-}
-
-//get username from config settings
-function getUsername(){
-    return getPref().getCharPref('username');
-}
-
-//get password from config settings
-function getPassword(){
-    return getPref().getCharPref('password');
-}
-
-//get serverservice
-function getServerService(){
-    return strServerService;
-
-}
-
-//get sender email //TO REMOVE
-function getSenderEmail(){
-    return getPref().getCharPref('senderemail');
-}
-
-//get sender name  //TO REMOVE
-function getSenderName() {
-        return getPref().getCharPref('sendername');
-}
-
-//get the whole server path
-function getServerUrl(){
-    return getServer()+"/"+getServerService();
-}
-
-
-//Creates and returns and instance of the XML-RPC client
-function getClient() {
-    // Enable correct security
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    return Components.classes['@mozilla.org/xml-rpc/client;1'].createInstance(Components.interfaces.nsIXmlRpcClient);
-}
-
-//returns the xmlrpc client instance
-function getXmlRpc() {
-    if (!xmlRpcClient) {
-        xmlRpcClient = getClient();
-    }
-    // Initialize the client with the URL
-    xmlRpcClient.init(getServerUrl());
-    return xmlRpcClient;
-}
-
-
-/**
- * module_install handler
- */
-var listinstallmodulehandler = {
-    onResult: function(client, context, result) {
-        setmodule_install('yes')
-        callback()
-    },
-    onFault: function (client, ctxt, fault) {
-        setmodule_install('no')
-        callback()
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-        setmodule_install('no')
-        callback()
-    }
-}
-/**
- * Check is the plugin module is installed
- */ 
-function module_install()
-{
-    setmodule_install("no")
-    
-    setServerService('xmlrpc/object');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
-    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
-    var strmethod = get_rpc_string(xmlRpcClient, "is_installed");
-    var strobj = get_rpc_string(xmlRpcClient, "plugin.handler");
-    xmlRpcClient.asyncCall(listinstallmodulehandler,null,'execute',[ strDbName,struid,strpass,strobj,strmethod], 5);
-}
-
-
-//xmlrpc request handler for handling the login information
-var listcreateLoginHandler = {
-    onResult: function(client, context, result) {
-        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-        var login = result.QueryInterface(Components.interfaces.nsISupportsPrimitive)
-        if(login.type == 12){
-            login = result.QueryInterface(Components.interfaces.nsISupportsPRInt32)
-            setUserId(login.data);
-            module_install()
-        }
-        else{
-               setUserId(0);
-               callback();
-        }
-    },
-    onFault: function (client, ctxt, fault) {
-       setUserId(0);
-       callback();
-    },
-
-    onError: function (client, ctxt, status, errorMsg) {
-       setUserId(0);
-       callback();
-    }
-}
-
-
-function login(){
-    setServerService('xmlrpc/common');
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var xmlRpcClient = getXmlRpc();
-    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
-    var strusername = get_rpc_string(xmlRpcClient, getPreference('username'));
-    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
-    xmlRpcClient.asyncCall(listcreateLoginHandler,null,'login',[strDbName,strusername,strpass],3);
-}
-
-function get_rpc_string(rpc_client, val) {
-    var str = rpc_client.createType(rpc_client.STRING,{});
-    str.data = val;
-    return str;
-}
-
-function get_rpc_int(rpc_client, val) {
-    var integer = rpc_client.createType(rpc_client.INT,{});
-    integer.data = val;
-    return integer;
-}
-
-
-
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/tools.js b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/js/tools.js
deleted file mode 100644 (file)
index 36cfc51..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-function log_message(message) {
-    window.dump("[OPENERP-PLUGIN LOG]: " + message + "\n")
-}
-
-function getMessage(uri) {
-    var content;
-    var MsgService = messenger.messageServiceFromURI(uri);
-    var MsgStream = Components.classes["@mozilla.org/network/sync-stream-listener;1"].createInstance();
-    var MsgStrem_Inputstream = MsgStream.QueryInterface(Components.interfaces.nsIInputStream);
-    var ScriptInput = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance();
-    var ScriptInputStream = ScriptInput.QueryInterface(Components.interfaces.nsIScriptableInputStream);
-    ScriptInputStream.init(MsgStream);
-    try {
-        MsgService.streamMessage(uri,MsgStream, msgWindow, null, false, null);
-    } catch (ex) {
-        return;
-    }
-    ScriptInputStream .available();
-    while (ScriptInputStream .available()) {
-        content = content + ScriptInputStream.read(512);
-    }
-    return content
-    
-}
-
-function createMenuItem(aLabel, aValue) {
-    const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
-    var item = document.createElementNS(XUL_NS, "menuitem"); // create a new XUL menuitem
-    item.setAttribute("label", aLabel);
-    item.setAttribute("value", aValue);
-    return item;
-}
-
-    
-function clear_search_box(element) {
-       var cmbSearchList = document.getElementById(element);
-       count = cmbSearchList.itemCount
-       for(i = 1; i <= count; i++) {
-               cmbSearchList.removeItemAt(count - i)   
-       }
-}
-
-function open_url(url) {
-       netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-       var messenger = Components.classes['@mozilla.org/messenger;1'].createInstance(Components.interfaces.nsIMessenger);
-    messenger.launchExternalURL(url);
-}
-
-function extract_data(result) {
-       var returnArray = new Array();
-       
-       netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
-    var res = result.QueryInterface(Components.interfaces.nsISupportsArray);
-    returnArray[0] = res.QueryElementAt(0, Components.interfaces.nsISupportsCString); 
-    returnArray[1] = res.QueryElementAt(1, Components.interfaces.nsISupportsPRInt32);
-    
-    for(i = 2; i < res.Count(); i++) {
-       returnArray[i] = res.QueryElementAt(i, Components.interfaces.nsISupportsCString); 
-    }
-    return returnArray
-}
-
-
-var MODEL = 0;
-var RES_ID = 1;
-var URL = 2;
-var ADDITIONAL_INFORMATION = 3
-
-function check_connection(callback) {
-       return function () {
-               if(getPreference('userid', 'INT') == 0) {
-                       alert("Server unreachable or login Failed, please check your connection settings")
-                       return
-               } 
-               else if (getmodule_install() == "no") {
-                       alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
-               return
-       }
-       return callback()
-       }
-}
-
-function open_window(url,width,height) {
-       var win = window.open(url, '', 'chrome,width='+width+',height='+height+',resizable=yes');
-       var w = ((window.screen.availWidth/2)-(width/2));
-       var h=((window.screen.availHeight/2)-(height/2));
-       win.moveTo(w,h);
-}
-
-
-
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/overlay.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/overlay.xul
deleted file mode 100644 (file)
index bf825d9..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0"?>\r
-<?xml-stylesheet href="chrome://openerp_plugin/skin/overlay.css" type="text/css"?>\r
-<!DOCTYPE overlay SYSTEM "chrome://openerp_plugin/locale/overlay.dtd">\r
-<overlay id="tiny-overlay"\r
-         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"\r
-         xmlns:html="http://www.w3.org/1999/xhtml">\r
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>\r
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>\r
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/overlay.js"></script>\r
-\r
-\r
-<menubar id="mail-menubar" >\r
-    <menu insertafter="messageMenu" id="menu_openerp" label="&openerpMenu.label;" accesskey="&openerpMenu.accesskey;"> \r
-        <menupopup id="taskPopup">\r
-            <menuitem id="tiny-openpartner" label="Contact"\r
-                      oncommand="check(open_partner);"\r
-                      image="&menuicon.value;"\r
-                      class="menuitem-iconic"\r
-                      tooltiptext="&openpartnertooltip.value;"\r
-                      />\r
-\r
-            <menuitem id="tiny-opendocument" label="Documents"\r
-                      oncommand="check(open_document);"\r
-                      image="&menuicon.value;"\r
-                      class="menuitem-iconic"\r
-                      tooltiptext="&opendocumenttooltip.value;"\r
-                      />\r
-            <menuitem id="tiny-plugin3" label="Configuration"\r
-                      oncommand="open_window('chrome://openerp_plugin/content/config.xul', 580,500);"\r
-                      image="&menuicon.settings;"\r
-                      class="menuitem-iconic"\r
-                      tooltiptext="&pluginconfig.value;"\r
-                      />\r
-        </menupopup>\r
-    </menu>\r
-</menubar>\r
-\r
-\r
-<toolbarpalette id="MailToolbarPalette">\r
-    <toolbarbutton id="GA-button2"\r
-        class="toolbarbutton-1"\r
-        image="&partnericon.value;"\r
-        label= "Contact"\r
-        oncommand="check(open_partner);"\r
-          />\r
-</toolbarpalette>\r
-<toolbarpalette id="MailToolbarPalette">\r
-    <toolbarbutton id="GA-button3"\r
-        class="toolbarbutton-1"\r
-        image="&imagearchive.value;"\r
-        label= "Documents"\r
-        oncommand="check(open_document);"  />\r
-</toolbarpalette> \r
-\r
-</overlay>\r
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push.xul
deleted file mode 100644 (file)
index b57ad68..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
-<?xml-stylesheet href="style.css" type="text/css"?>
-<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/plugin.dtd">
-<window id="pluginwindows" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-       xmlns:html="http://www.w3.org/1999/xhtml"
-       title="&title.label;" onload="getDocumentType()" >
-
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/push.js"></script>
-    <description></description>
-        <vbox>
-               <separator class="groove-thin" orient="horizontal"/>
-               <grid flex="1">
-                                       <columns>
-                                               <column />
-                                               <column />
-                                               <column flex="1"/>
-                                       </columns>
-                                       <rows>
-                                       <row>
-                                               <label id="lblex3" align="right" control="section" value="&object.label;" class="text-prompt" />
-                               <menulist id="menu_model_list" >
-                                   <menupopup id="model_list">
-                                       <menuitem id="first_model_list" value="" label=""/>
-                                   </menupopup>
-                               </menulist>
-                                       </row>
-                                       <row>
-                                               <label id="lblsearch" control="txtvalueobj" value="&search.label;" class="text-prompt"/>
-                               <textbox id="txtvalueobj" />
-                               <button label="&bsearch.label;" oncommand="searchCheckbox()" image="&imagesearch.value;" accesskey="s" id="search_button"/> 
-                                       </row>
-                                       </rows>
-                               </grid>
-                <hbox >
-                       <caption label="&document.label;"  id="label_box"/>
-                </hbox>
-                <vbox >
-                       <listbox height="200"  id="listSearchBox" style="border:1px solid red" seltype="multiple">
-                       <listhead>
-                               <listheader label="&listSearchBox.header;"/>
-                        </listhead>
-                        <listcols>
-                               <listcol flex="1"/>
-                        </listcols>
-                       </listbox>
-                </vbox>
-                <hbox align="right" >
-                       <button label="&attach.label;" accesskey="u" image="&imagearchive.value;" oncommand="push('add');"/>
-                </hbox>
-                <separator class="groove-thin" orient="horizontal"/>  
-        </vbox>
-    
-</window>
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push_dialog.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push_dialog.xul
deleted file mode 100644 (file)
index 72bc729..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>  
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>  
-<?xml-stylesheet href="style.css" type="text/css"?>
-<!-- Extremely recommended to keep this css include!! -->  
-<window id="rootWnd" title="push box"  onload="load_contact_dialog();" 
-         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">  
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/dialog.js"></script>
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/overlay.js"></script>
-       <vbox>  
-       <hbox height="50"> 
-               <label value="Message" id="message_label" class="text-border"/>  
-        </hbox>  
-        <hbox align="right">  
-               <button label="Cancel" accesskey="c" oncommand="window.close();"/>
-               <button id="push" label="Push Email" accesskey="a" oncommand="window.close();open_window('chrome://openerp_plugin/content/push.xul', 500,360);"/>
-               <button id="new" label="Create Document" accesskey="d" oncommand="window.close();open_window('chrome://openerp_plugin/content/push_new.xul', 320,100);"/>
-               <button id="open_document" label="Open Document" accesskey="o" oncommand="open_url(getPreference('urldoc'));window.close();"/>
-        </hbox>  
-    </vbox>  
-</window>  
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push_new.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/push_new.xul
deleted file mode 100644 (file)
index e1d22c8..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
-<?xml-stylesheet href="style.css" type="text/css"?>
-<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/plugin.dtd">
-<window id="pluginwindows" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-       xmlns:html="http://www.w3.org/1999/xhtml"
-       title="&title.label;" onload="getDocumentType()" >
-
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
-    <script type="text/javascript" src="chrome://openerp_plugin/content/js/push.js"></script>
-    <description></description>
-        <vbox>
-               <separator class="groove-thin" orient="horizontal" width="400"/>
-               <grid flex="1">
-                                       <columns>
-                                               <column />
-                                               <column />
-                                               <column flex="1"/>
-                                       </columns>
-                                       <rows>
-                                       <row>
-                                               <label id="lblex3" align="right" width="135" control="section" value="&object.label;" class="text-prompt" />
-                               <menulist id="menu_model_list" width="150">
-                                   <menupopup id="model_list">
-                                       <menuitem id="first_model_list" value="" label=""/>
-                                   </menupopup>
-                               </menulist>
-                                       </row>
-                                       </rows>
-                               </grid>
-                <hbox align="right" >
-                       <button label="&attach.label;" accesskey="u" image="&imagearchive.value;" oncommand="push();"/>
-                </hbox>
-                <separator class="groove-thin" orient="horizontal" width="480"/>  
-        </vbox>
-</window>
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/selectpartner.xul b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/selectpartner.xul
deleted file mode 100644 (file)
index db1839b..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
-<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/selectpartner.dtd">
-<window id="partnerwindowsid" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml" onload="getPartnerList()"
-       title="&title.label;" height="500" width="375">
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
-<script type="text/javascript" src="chrome://openerp_plugin/content/js/create.js"></script>
-<groupbox id="gpPartner">
-       <hbox>
-               <textbox id="txtselectpartner" class="text-prompt"/>
-               <spacer width="25"/>
-               <button label="&bsearch.label;" image="&imagesearch.value;" oncommand="getPartnerList();"/>
-       </hbox>
-</groupbox>
-<listbox id="listPartnerBox" flex="1" rows="5">
-    <listhead>
-       <listheader label="&listPartnerName.header;"/>
-    </listhead>
-    <listcols>
-       <listcol flex="1"/>
-    </listcols>
-</listbox>
-<description></description>
-<hbox>
-  <spacer width="45"/>
-  <button label="cancel" image="&imagecancel.value;" oncommand="close();" />
-  <button label="link" image="&imageok.value;" oncommand="selectPartner();window.close();"/>
-</hbox>
-
-</window>
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/style.css b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/content/style.css
deleted file mode 100644 (file)
index 5997230..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.text-prompt {
-       padding-top: .25em;  
-       text-align: right;
-}
-
-.text-border {
-       padding: 1em; 
-       font-size : 1.2em;
-       font-weight: bold; 
-}
\ No newline at end of file
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/address.dtd b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/address.dtd
deleted file mode 100644 (file)
index 3dd3744..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!ENTITY title.label "Open Contact">
-<!ENTITY name.value "Partner Name:">
-<!ENTITY contactname.value "Contact Name:">
-<!ENTITY street.value "Street:">
-<!ENTITY street2.value "Street2:">
-<!ENTITY zip.value "Zip:">
-<!ENTITY city.value "City:">
-<!ENTITY country.value "Country:">
-<!ENTITY state.value "State:">
-<!ENTITY office.value "Office:">
-<!ENTITY fax.value "Fax:">
-<!ENTITY mobile.value "Mobile:">
-<!ENTITY email.value "Email:">
-<!ENTITY emailid.value "Email ID:">
-<!ENTITY communication.value "Communication:">
-<!ENTITY postaladdress.value "Postal Address:">
-<!ENTITY ok.label "Save">
-<!ENTITY partner.label "Create New Contact :">
-<!ENTITY create.label "New Contact">
-<!ENTITY cancel.label "Close">
-<!ENTITY newpartner.label "New Partner">
-<!ENTITY bsearch.label "Search Contact">
-<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
-<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">
-<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
-<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/config.dtd b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/config.dtd
deleted file mode 100644 (file)
index 7111909..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<!ENTITY title.label "OpenERP Configuration">\r
-<!ENTITY separate.label "Configuration Login for OpenERP!">\r
-<!ENTITY close.label "Close">\r
-<!ENTITY database.label "Database:">\r
-<!ENTITY ok.label "OK">\r
-<!ENTITY connection.label "Connect">\r
-<!ENTITY setconnection.label "Change">\r
-<!ENTITY openconnection.label "Open">\r
-<!ENTITY txturl.label "Server: ">\r
-<!ENTITY txtweburl.label "Server: ">\r
-<!ENTITY txtwebport.label "Port: ">\r
-<!ENTITY image.label "Image : ">\r
-<!ENTITY obj.label "Document : ">\r
-<!ENTITY username.label "Username: ">\r
-<!ENTITY password.label "Password: ">\r
-<!ENTITY setdb.label "Move &gt;">\r
-<!ENTITY getdblist.label "Change">\r
-<!ENTITY gpConnection.label "Connection Parameters">\r
-<!ENTITY webConnection.label "Webserver Parameters">\r
-<!ENTITY listDBListBox.header "Available DBs">\r
-<!ENTITY listDocument.header "Document">\r
-<!ENTITY listDocumentListBox.header "Document Name">\r
-<!ENTITY document.label "Document Name : ">\r
-<!ENTITY documentcreate.label "Add">\r
-<!--<!ENTITY objectdelete.label "Delete Selected Object From The List"> -->\r
-<!ENTITY documentdelete.label "Delete">\r
-<!ENTITY gpArchive.label "Archived Email Attachment Options">\r
-<!ENTITY rdAlwaysAttached.label "Always Send Email Attachments to OpenERP">\r
-<!ENTITY rdPromptAttached.label "Prompt Before Sending Email Attachments">\r
-<!ENTITY rdNeverAttached.label "Never Send Email attachments to OpenERP">\r
-<!ENTITY reserve.value "Copyright © 2006-TODAY OpenERP SA All Rights Reserved.\r
-OpenERP is a trademark of the OpenERP SA Company. OpenERP Web is jointly developed by OpenERP SA and Axelor.\n\r
-Licenced under the terms of OpenERP Public License (OEPL) v1.1 ">\r
-<!ENTITY openerp.value "http://www.openerp.com/">\r
-<!ENTITY axelor.value "http://www.axelor.com">\r
-<!ENTITY tinyerp.value "http://tiny.be/">\r
-\r
-<!ENTITY openerp.paresent "This Thunderbird Plugin for OpenERP presently (2010-today) developed by OpenERP SA.">\r
-\r
-<!ENTITY openerp_s.value "OpenERP">\r
-<!ENTITY axelor_s.value "The Axelor Company">\r
-<!ENTITY tinyerp_s.value "The Tiny Company">\r
-\r
-<!ENTITY imageicon.value "chrome://openerp_plugin/skin/NEWT1.png">\r
-<!ENTITY gpAbout.label "OpenERP Thunderbird Plugin :">\r
-<!ENTITY develop.value "Based on original work, copyright 2003-2009, by Tiny &amp; Axelor ">\r
-<!ENTITY information.value "For more information, please visit our website">\r
-<!ENTITY contact.label "Contact Us">\r
-<!ENTITY contact.value "info@axelor.com">\r
-<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">\r
-<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">\r
-<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">\r
-<!ENTITY imagemove.value "chrome://openerp_plugin/skin/Move.gif">\r
-<!ENTITY imagemoveleft.value "chrome://openerp_plugin/skin/MoveLeft.png">\r
-<!ENTITY imagemovedown.value "chrome://openerp_plugin/skin/MoveDown.png">\r
-<!ENTITY addfile.label "Load Image">\r
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/config_change.dtd b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/config_change.dtd
deleted file mode 100644 (file)
index 19558a9..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<!ENTITY lblurl.label "               Server: ">\r
-<!ENTITY lblport.label "                   Port: ">\r
-<!ENTITY lblheading.label "Openerp Connection">\r
-<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">\r
-<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">\r
-<!ENTITY lblprotocol.label "Protocol Connection: ">\r
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/create.dtd b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/create.dtd
deleted file mode 100644 (file)
index bb5f2c3..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<!ENTITY title.label "Create a new Contact">
-<!ENTITY name.value "Contact Name:">
-<!ENTITY street.value "Street:">
-<!ENTITY street2.value "Street2:">
-<!ENTITY zip.value "Zip:">
-<!ENTITY city.value "City:">
-<!ENTITY country.value "Country:">
-<!ENTITY state.value "State:">
-<!ENTITY office.value "Office:">
-<!ENTITY fax.value "Fax:">
-<!ENTITY mobile.value "Mobile:">
-<!ENTITY email.value "Email:">
-<!ENTITY communication.value "Communication:">
-<!ENTITY postaladdress.value "Postal Address:">
-
-
-<!ENTITY selectpartner.value "Partner:">
-<!ENTITY listEmail.header "Email">
-<!ENTITY listName.header "Name">
-<!ENTITY bsearch.label "Search">
-<!ENTITY imageicon.value "chrome://openerp_plugin/skin/NEWT1.png">
-<!ENTITY cbxarchive.label "Archive">
-<!ENTITY ok.label "Save">
-<!ENTITY cancel.label "Close">
-<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
-<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
-<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">
-
-<!ENTITY title.label "Select Partner">
-<!ENTITY listPartnerName.header "Partner Name">
-<!ENTITY bsearch.label "Search">
-<!ENTITY create.label "Create">
-<!ENTITY select.label "Select">
-<!ENTITY cancel.label "Close">
-<!ENTITY reload.label "Reload">
-<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
-<!ENTITY imagereload.value "chrome://openerp_plugin/skin/Archive.png">
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/mboximport.properties b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/mboximport.properties
deleted file mode 100644 (file)
index 3384542..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-nomboxfile=není mbox souborem
-folderexists=Není možné importovat: složka se stejným názvem již existuje
-fileexists=Není možné importovat: soubor se stejným názvem již existuje
-nowritable=Není možné importovat: nemáte právo zápisu do složky
-exportOK=Export byl úspěšně dokončen
-isNewsgroup=Tato funkce není dostupná: export složky z IMAP účtů nebo diskuzních \nskupin je možný, pouze pokud je nastavené čtení v režimu Offline
-nofolder=Nebyla vybrána žádná cílová složka
-badfolder=Není možné importovat do této složky (typ IMAP nebo diskuzní skupina)
-exportAccount=Export všech složek
-exportFolder=Export složky
-filePickerImport=Výběr souboru k importu
-filePickerExport=Výběr cílové složky
-extensions.{3ed8cc52-86fc-4613-9026-c1ef969da4c3}.description=Umožňuje import a export souborů ve formátu mbox a eml
-virtualfolder=Toto je virtuální složka. Pro export jejich\nzpráv musíte tyto zprávy nejdříve\nzkopírovat do normální složky.
-searchdir=Vyberte složku, ve které budou vyhledány mbox soubory
-confirmimport=Chcete importovat soubor?
-endscan=Konec prohledávání složek
-internalerror=Není možné provést import, protože nastala neznámá chyba
-exportstart=Probíhá export, čekejte prosím...
-exported=Exportovalo se
-msgs=zpráv z
-nosubjectmsg=bez_predmetu
-messsubdir=zprávy
-badfolder2=Není možné importovat do této složky (IMAP nebo diskuzní skupina nebo virtuální složka)
-temp_error=Není možné importovat: nastala chyba při vytváření dočasného souboru
-importEMLstart=Pobíhá import, čekejte prosím...
-numEML=Naimportovány eml soubory:
-CSVseparator=,
-noEML=No eml file found in this directory
-backupWarning=During this operation, the program could be\nunresponsive for some minutes.\nDo you want to go on?\n  
-noWaring=Don't show again this warning
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/overlay.dtd b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/overlay.dtd
deleted file mode 100644 (file)
index e649eb9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!ENTITY tinyplugin "Configuration">
-<!ENTITY tinypluginconfig "Push">
-<!ENTITY tinyarchive "Push to OpenERP">
-<!ENTITY imageicon.value "chrome://openerp_plugin/skin/openerp.png">
-<!ENTITY menuicon.settings "chrome://openerp_plugin/skin/settings.png">
-<!ENTITY menuicon.value "chrome://openerp_plugin/skin/openerp.png">
-<!ENTITY partnericon.value "chrome://openerp_plugin/skin/openerp.png">
-<!ENTITY imagearchive.value "chrome://openerp_plugin/skin/openerp.png">
-<!ENTITY tooltip.value "Add To Archive">
-<!ENTITY pluginconfig.value "OpenERP Configuration Settings">
-<!ENTITY pluginconfigvalue.value "Archieve To OpenERP Settings">
-<!ENTITY openerpMenu.label "OpenERP">
-<!ENTITY openerpMenu.accesskey "OE">
-<!ENTITY openpartner.value "Partner">
-<!ENTITY openpartnertooltip.value "Click to Open Partner Realted to Sender Eamil address.">
-<!ENTITY opendocument.value "Document">
-<!ENTITY opendocumenttooltip.value "Click to See the Mail if it is archived to OpenERP.">
-
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/plugin.dtd b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/plugin.dtd
deleted file mode 100644 (file)
index cd00045..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<!ENTITY title.label "Push To OpenERP">
-<!ENTITY gptinyobj.label "Link to an Existing Document">
-<!ENTITY newobject.label "Create a New Documents">
-<!ENTITY document.label "Documents">
-<!ENTITY bsearch.label "Search">
-<!ENTITY close.label "Close">
-<!ENTITY attach.label "Push">
-<!ENTITY create.label "New Contact">
-<!ENTITY archive.label "Create">
-<!ENTITY attach.label "Attach">
-<!ENTITY cbxcontact.label "Contact">
-<!ENTITY cbxinvoice.label "Invoice">
-<!ENTITY cbxproject.label "Project">
-<!ENTITY cbxpartner.label "Partner">
-<!ENTITY cbxproduct.label "Product">
-<!ENTITY cbxaccount.label "Account">
-<!ENTITY cbxsale.label "Sale">
-<!ENTITY cbxcase.label "Case">
-<!ENTITY cbxtask.label "Task">
-<!ENTITY cbxselectall.label "Select All">
-<!ENTITY object.label "Type of Document :">
-<!ENTITY partner.label "Create New Contact :">
-<!ENTITY search.label "Search :">
-<!ENTITY listSearchBox.header "Name">
-<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
-<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
-<!ENTITY imagearchive.value "chrome://openerp_plugin/skin/Archive.png">
-<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
-<!ENTITY gptinyobjexe.label "Documents">
-<!ENTITY newcontact.label "Create a New Contact">
-<!ENTITY listSearchBox.header2 "Document Type">
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/selectpartner.dtd b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/locale/en-US/selectpartner.dtd
deleted file mode 100644 (file)
index d568b96..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!ENTITY title.label "Select Partner">
-<!ENTITY selectpartner.value "Partner">
-<!ENTITY listPartnerName.header "Partner Name">
-<!ENTITY bsearch.label "Search">
-<!ENTITY create.label "Create">
-<!ENTITY imageicon.value "chrome://openerp_plugin/skin/NEWT1.png">
-<!ENTITY select.label "Select">
-<!ENTITY cancel.label "Close">
-<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
-<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
-<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">
-<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Archive.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Archive.png
deleted file mode 100644 (file)
index 5aa6a95..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Archive.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Create.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Create.png
deleted file mode 100644 (file)
index 1ab240c..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Create.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Error.gif b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Error.gif
deleted file mode 100644 (file)
index 38c3523..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Error.gif and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Move.gif b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Move.gif
deleted file mode 100644 (file)
index 401bf86..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Move.gif and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveDown.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveDown.png
deleted file mode 100644 (file)
index 3761ff1..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveDown.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveLeft.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveLeft.png
deleted file mode 100644 (file)
index 031d753..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/MoveLeft.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Search.gif b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Search.gif
deleted file mode 100644 (file)
index b29c3cf..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Search.gif and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Success.gif b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Success.gif
deleted file mode 100644 (file)
index fb3bff7..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/Success.gif and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/developped_by.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/developped_by.png
deleted file mode 100644 (file)
index e4004e3..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/developped_by.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/logo.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/logo.png
deleted file mode 100644 (file)
index d6dbd9d..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/logo.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/openerp.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/openerp.png
deleted file mode 100644 (file)
index 326798d..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/openerp.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/overlay.css b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/overlay.css
deleted file mode 100644 (file)
index 1f71b8f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-menuitem#tiny-plugin {\r
-  color: red !important;\r
-}
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/perform.gif b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/perform.gif
deleted file mode 100644 (file)
index 16cc387..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/perform.gif and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/settings.png b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/settings.png
deleted file mode 100644 (file)
index ad0298a..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/settings.png and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico b/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico
deleted file mode 100644 (file)
index 0057dc4..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/components/nsXmlRpcClient.js b/addons/plugin_thunderbird/plugin/openerp_plugin/components/nsXmlRpcClient.js
deleted file mode 100644 (file)
index cf702b4..0000000
+++ /dev/null
@@ -1,1049 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla XML-RPC Client component.
- *
- * The Initial Developer of the Original Code is
- * Digital Creations 2, Inc.
- * Portions created by the Initial Developer are Copyright (C) 2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Martijn Pieters <mj@digicool.com> (original author)
- *   Samuel Sieb <samuel@sieb.net>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
- *  nsXmlRpcClient XPCOM component
- *  Version: $Revision: 1.39 $
- *
- *  $Id: nsXmlRpcClient.js,v 1.39 2006/10/24 16:02:01 silver%warwickcompsoc.co.uk Exp $
- */
-
-/*
- * Constants
- */
-Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-const XMLRPCCLIENT_CONTRACTID = '@mozilla.org/xml-rpc/client;1';
-const XMLRPCCLIENT_CID =
-    Components.ID('{4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa}');
-const XMLRPCCLIENT_IID = Components.interfaces.nsIXmlRpcClient;
-
-const XMLRPCFAULT_CONTRACTID = '@mozilla.org/xml-rpc/fault;1';
-const XMLRPCFAULT_CID =
-    Components.ID('{691cb864-0a7e-448c-98ee-4a7f359cf145}');
-const XMLRPCFAULT_IID = Components.interfaces.nsIXmlRpcFault;
-
-const XMLHTTPREQUEST_CONTRACTID = '@mozilla.org/xmlextras/xmlhttprequest;1';
-
-const NSICHANNEL = Components.interfaces.nsIChannel;
-
-const DEBUG = false;
-const DEBUGPARSE = false;
-
-const DOMNode = Components.interfaces.nsIDOMNode;
-/*
- * Class definitions
- */
-
-/* The nsXmlRpcFault class constructor. */
-function nsXmlRpcFault() {}
-
-/* the nsXmlRpcFault class def */
-nsXmlRpcFault.prototype = {
-    faultCode: 0,
-    faultString: '',
-
-    init: function(faultCode, faultString) {
-        this.faultCode = faultCode;
-        this.faultString = faultString;
-    },
-
-    toString: function() {
-        return '<XML-RPC Fault: (' + this.faultCode + ') ' +
-            this.faultString + '>';
-    },
-
-    // nsISupports interface
-    QueryInterface: function(iid) {
-        if (!iid.equals(Components.interfaces.nsISupports) &&
-            !iid.equals(XMLRPCFAULT_IID))
-            throw Components.results.NS_ERROR_NO_INTERFACE;
-        return this;
-    }
-};
-
-/* The nsXmlRpcClient class constructor. */
-function nsXmlRpcClient() {}
-
-/* the nsXmlRpcClient class def */
-nsXmlRpcClient.prototype = {
-    _serverUrl: null,
-    _useAuth: false,
-
-    classDescription: "nsXmlRpcClient XPCOM component",
-    classID:          Components.ID("{4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa}"),
-    contractID:       "@mozilla.org/xml-rpc/client;1",
-
-    init: function(serverURL) {
-        this._serverUrl = serverURL;
-        this._encoding = "UTF-8";
-    },
-
-    setAuthentication: function(username, password){
-        if ((typeof username == "string") &&
-            (typeof password == "string")){
-          this._useAuth = true;
-          this._username = username;
-          this._password = password;
-        }
-    },
-
-    clearAuthentication: function(){
-        this._useAuth = false;
-    },
-
-    setEncoding: function(encoding){
-        this._encoding = encoding;
-    },
-
-    get serverUrl() { return this._serverUrl; },
-
-    // Internal copy of the status
-    _status: null,
-    _listener: null,
-
-    asyncCall: function(listener, context, methodName, methodArgs, count) {
-        debug('asyncCall');
-        // Check for call in progress.
-        if (this._inProgress)   
-            return;
-            //throw Components.Exception('Call in progress!');
-
-        // Check for the server URL;
-        if (!this._serverUrl)
-            throw Components.Exception('Not initialized');
-
-        this._inProgress = true;
-
-        // Clear state.
-        this._foundFault = false;
-        this._passwordTried = false;
-        this._result = null;
-        this._fault = null;
-        this._status = null;
-        this._responseStatus = null;
-        this._responseString = null;
-        this._listener = listener;
-        this._seenStart = false;
-        this._context = context;
-        
-        debug('Arguments: ' + methodArgs);
-
-        // Generate request body
-        var xmlWriter = new XMLWriter(this._encoding);
-        this._generateRequestBody(xmlWriter, methodName, methodArgs);
-
-        var requestBody = xmlWriter.data;
-
-        debug('Request: ' + requestBody);
-
-        this.xmlhttp = Components.classes[XMLHTTPREQUEST_CONTRACTID]
-            .createInstance(Components.interfaces.nsIXMLHttpRequest);
-        if (this._useAuth) {
-            this.xmlhttp.open('POST', this._serverUrl, true,
-                              this._username, this._password);
-        } else {
-            this.xmlhttp.open('POST', this._serverUrl);
-        }
-        this.xmlhttp.onload = this._onload;
-        this.xmlhttp.onerror = this._onerror;
-        this.xmlhttp.parent = this;
-        this.xmlhttp.setRequestHeader('Content-Type','text/xml');
-        this.xmlhttp.send(requestBody);
-        var chan = this.xmlhttp.channel.QueryInterface(NSICHANNEL);
-        chan.notificationCallbacks = this;
-    },
-
-    _onload: function(e) {
-        var result;
-        var parent = e.target.parent;
-        parent._inProgress = false;
-        parent._responseStatus = e.target.status;
-        parent._responseString = e.target.statusText;
-        if (!e.target.responseXML) {
-            if (e.target.status) {
-                try {
-                    parent._listener.onError(parent, parent._context,
-                        Components.results.NS_ERROR_FAILURE,
-                        'Server returned status ' + e.target.status);
-                } catch (ex) {
-                    debug('Exception in listener.onError: ' + ex);
-                }
-            } else {
-                try {
-                    parent._listener.onError(parent, parent._context,
-                                      Components.results.NS_ERROR_FAILURE,
-                                      'Unknown network error');
-                } catch (ex) {
-                    debug('Exception in listener.onError: ' + ex);
-                }
-            }
-            return;
-        }
-        try {
-            e.target.responseXML.normalize();
-            result = parent.parse(e.target.responseXML);
-        } catch (ex) {
-            try {
-                parent._listener.onError(parent, parent._context,
-                                         ex.result, ex.message);
-            } catch (ex) {
-                debug('Exception in listener.onError: ' + ex);
-            }
-            return;
-        }
-        if (parent._foundFault) {
-            parent._fault = result;
-            try {
-                parent._listener.onFault(parent, parent._context, result);
-            } catch(ex) {
-                debug('Exception in listener.onFault: ' + ex);
-            }
-        } else {
-            parent._result = result.value;
-            try { 
-                parent._listener.onResult(parent, parent._context,
-                                          result.value);
-            } catch (ex) {
-                debug('Exception in listener.onResult: ' + ex);
-            }
-        }
-    },
-
-    _onerror: function(e) {
-        var parent = e.target.parent;
-        parent._inProgress = false;
-        try {
-            parent._listener.onError(parent, parent._context,
-                                Components.results.NS_ERROR_FAILURE,
-                                'Unknown network error');
-        } catch (ex) {
-            debug('Exception in listener.onError: ' + ex);
-        }
-    },
-    
-    _foundFault: false,
-
-    _fault: null,
-    _result: null,
-    _responseStatus: null,
-    _responseString: null,
-
-    get fault() { return this._fault; },
-    get result() { return this._result; },
-    get responseStatus() { return this._responseStatus; },
-    get responseString() { return this._responseString; },
-
-    /* Convenience. Create an appropriate XPCOM object for a given type */
-    INT:      1,
-    BOOLEAN:  2,
-    STRING:   3,
-    DOUBLE:   4,
-    DATETIME: 5,
-    ARRAY:    6,
-    STRUCT:   7,
-    BASE64:   8, // Not part of nsIXmlRpcClient interface, internal use.
-    createType: function(type, uuid) {
-        const SUPPORTSID = '@mozilla.org/supports-';
-        switch(type) {
-            case this.INT:
-                uuid.value = Components.interfaces.nsISupportsPRInt32
-                return createInstance(SUPPORTSID + 'PRInt32;1',
-                    'nsISupportsPRInt32');
-
-            case this.BOOLEAN:
-                uuid.value = Components.interfaces.nsISupportsPRBool
-                return createInstance(SUPPORTSID + 'PRBool;1',
-                    'nsISupportsPRBool');
-
-            case this.STRING:
-                uuid.value = Components.interfaces.nsISupportsCString
-                return createInstance(SUPPORTSID + 'cstring;1',
-                    'nsISupportsCString');
-
-            case this.DOUBLE:
-                uuid.value = Components.interfaces.nsISupportsDouble
-                return createInstance(SUPPORTSID + 'double;1',
-                    'nsISupportsDouble');
-
-            case this.DATETIME:
-                uuid.value = Components.interfaces.nsISupportsPRTime
-                return createInstance(SUPPORTSID + 'PRTime;1',
-                    'nsISupportsPRTime');
-
-            case this.ARRAY:
-                uuid.value = Components.interfaces.nsISupportsArray
-                return createInstance(SUPPORTSID + 'array;1',
-                    'nsISupportsArray');
-
-            case this.STRUCT:
-                uuid.value = Components.interfaces.nsIDictionary
-                return createInstance('@mozilla.org/dictionary;1', 
-                    'nsIDictionary');
-
-            default: throw Components.Exception('Unsupported type');
-        }
-    },
-
-    // nsISupports interface
-    QueryInterface: function(iid) {
-        if (!iid.equals(Components.interfaces.nsISupports) &&
-            !iid.equals(XMLRPCCLIENT_IID) &&
-            !iid.equals(Components.interfaces.nsIInterfaceRequestor))
-            throw Components.results.NS_ERROR_NO_INTERFACE;
-        return this;
-    },
-
-    // nsIInterfaceRequester interface
-    getInterface: function(iid, result){
-        if (iid.equals(Components.interfaces.nsIAuthPrompt)){
-            return this;
-        }
-        Components.returnCode = Components.results.NS_ERROR_NO_INTERFACE;
-        return null;
-    },
-
-    // nsIAuthPrompt interface
-    _passwordTried: false,
-    promptUsernameAndPassword: function(dialogTitle, text, passwordRealm,
-                                        savePassword, user, pwd){
-
-        if (this._useAuth){
-            if (this._passwordTried){
-                return false;
-            }
-            user.value = this._username;
-            pwd.value = this._password;
-            this._passwordTried = true;
-            return true;
-        }
-        return false;
-    },
-
-    /* Generate the XML-RPC request body */
-    _generateRequestBody: function(writer, methodName, methodArgs) {
-        writer.startElement('methodCall');
-
-        writer.startElement('methodName');
-        writer.write(methodName);
-        writer.endElement('methodName');
-
-        writer.startElement('params');
-        for (var i = 0; i < methodArgs.length; i++) {
-            writer.startElement('param');
-            this._generateArgumentBody(writer, methodArgs[i]);
-            writer.endElement('param');
-        }
-        writer.endElement('params');
-
-        writer.endElement('methodCall');
-    },
-
-    /* Write out a XML-RPC parameter value */
-    _generateArgumentBody: function(writer, obj) {
-        writer.startElement('value');
-        var sType = this._typeOf(obj);
-        switch (sType) {
-            case 'PRUint8':
-            case 'PRUint16':
-            case 'PRInt16':
-            case 'PRInt32':
-                obj=obj.QueryInterface(Components.interfaces['nsISupports' +
-                    sType]);
-                writer.startElement('i4');
-                writer.write(obj.toString());
-                writer.endElement('i4');
-                break;
-
-            case 'PRBool':
-                obj=obj.QueryInterface(Components.interfaces.nsISupportsPRBool);
-                writer.startElement('boolean');
-                writer.write(obj.data ? '1' : '0');
-                writer.endElement('boolean');
-                break;
-
-            case 'Char':
-            case 'CString':
-                obj=obj.QueryInterface(Components.interfaces['nsISupports' +
-                    sType]);
-                writer.startElement('string');
-                writer.write(obj.toString());
-                writer.endElement('string');
-                break;
-
-            case 'Float':
-            case 'Double':
-                obj=obj.QueryInterface(Components.interfaces['nsISupports' +
-                    sType]);
-                writer.startElement('double');
-                writer.write(obj.toString());
-                writer.endElement('double');
-                break;
-
-            case 'PRTime':
-                obj = obj.QueryInterface(
-                    Components.interfaces.nsISupportsPRTime);
-                var date = new Date(obj.data)
-                writer.startElement('dateTime.iso8601');
-                writer.write(iso8601Format(date));
-                writer.endElement('dateTime.iso8601');
-                break;
-                
-            case 'InputStream':
-                obj = obj.QueryInterface(Components.interfaces.nsIInputStream);
-                obj = toScriptableStream(obj);
-                writer.startElement('base64');
-                streamToBase64(obj, writer);
-                writer.endElement('base64');
-                break;
-            
-            case 'Array':
-                obj = obj.QueryInterface(
-                    Components.interfaces.nsISupportsArray);
-                writer.startElement('array');
-                writer.startElement('data');
-                for (var i = 0; i < obj.Count(); i++)
-                    this._generateArgumentBody(writer, obj.GetElementAt(i));
-                writer.endElement('data');
-                writer.endElement('array');
-                break;
-
-            case 'Dictionary':
-                obj = obj.QueryInterface(Components.interfaces.nsIDictionary);
-                writer.startElement('struct');
-                var keys = obj.getKeys({});
-                for (var k = 0; k < keys.length; k++) {
-                    writer.startElement('member');
-                    writer.startElement('name');
-                    writer.write(keys[k]);
-                    writer.endElement('name');
-                    this._generateArgumentBody(writer, obj.getValue(keys[k]));
-                    writer.endElement('member');
-                }
-                writer.endElement('struct');
-                break;
-
-            default:
-                throw Components.Exception('Unsupported argument', null, null,
-                    obj);
-        }
-
-        writer.endElement('value');
-    },
-
-    /* Determine type of a nsISupports primitive, array or dictionary. */
-    _typeOf: function(obj) {
-        // XPConnect alows JS to pass in anything, because we are a regular
-        // JS object to it. So we have to test rigorously.
-        if (typeof obj != 'object') return 'Unknown';
-
-        // Anything else not nsISupports is not allowed.
-        if (typeof obj.QueryInterface != 'function') return 'Unknown';
-
-        // Now we will have to eliminate by trying all possebilities.
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsPRUint8);
-            return 'PRUint8';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsPRUint16);
-            return 'PRUint16';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsPRInt16);
-            return 'PRInt16';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsPRInt32);
-            return 'PRInt32';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsPRBool);
-            return 'PRBool';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsChar);
-            return 'Char';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsCString);
-            return 'CString';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsFloat);
-            return 'Float';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsDouble);
-            return 'Double';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsPRTime);
-            return 'PRTime';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsIInputStream);
-            return 'InputStream';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsISupportsArray);
-            return 'Array';
-        } catch(e) {}
-        
-        try {
-            obj.QueryInterface(Components.interfaces.nsIDictionary);
-            return 'Dictionary';
-        } catch(e) {}
-        
-        // Not a supported type
-        return 'Unknown';
-    },
-
-    // Response parsing state
-    _valueStack: [],
-    _currValue: null,
-    _cdata: null,
-
-    parse: function(doc) {
-        var node = doc.firstChild;
-        var result;
-        if (node.nodeType == DOMNode.TEXT_NODE)
-            node = node.nextSibling;
-        if ((node.nodeType != DOMNode.ELEMENT_NODE) ||
-            (node.nodeName != 'methodResponse')) {
-            throw Components.Exception('Expecting a methodResponse', null, null,
-                                       doc);
-        }
-        node = node.firstChild;
-        if (node.nodeType == DOMNode.TEXT_NODE)
-            node = node.nextSibling;
-        if (node.nodeType != DOMNode.ELEMENT_NODE)
-            throw Components.Exception('Expecting a params or fault', null,
-                                       null, doc);
-        if (node.nodeName == 'params') {
-            node = node.firstChild;
-            if (node.nodeType == DOMNode.TEXT_NODE)
-                node = node.nextSibling;
-            if ((node.nodeType != DOMNode.ELEMENT_NODE) ||
-                (node.nodeName != 'param')) {
-                throw Components.Exception('Expecting a param', null, null,
-                                           doc);
-            }
-            result = this.parseValue(node.firstChild);
-        } else if (node.nodeName == 'fault') {
-            this._foundFault = true;
-            result = this.parseFault(node.firstChild);
-        } else {
-            throw Components.Exception('Expecting a params or fault', null,
-                                       null, doc);
-        }
-        debug('Parse finished');
-        return result;
-    },
-
-    parseValue: function(node) {
-        var cValue = new Value();
-        if (node && (node.nodeType == DOMNode.TEXT_NODE))
-            node = node.nextSibling;
-        if (!node || (node.nodeType != DOMNode.ELEMENT_NODE) ||
-            (node.nodeName != 'value')) {
-            throw Components.Exception('Expecting a value', null, null, node);
-        }
-        node = node.firstChild;
-        if (!node)
-            return cValue;
-        if (node.nodeType == DOMNode.TEXT_NODE){
-            if (!node.nextSibling) {
-                cValue.value = node.nodeValue;
-                return cValue;
-            } else {
-                node = node.nextSibling;
-            }
-        }
-        if (node.nodeType != DOMNode.ELEMENT_NODE)
-            throw Components.Exception('Expecting a value type', null, null,
-                                       node);
-        switch (node.nodeName) {
-            case 'string':
-                cValue.value = this.parseString(node.firstChild);
-                break;
-            case 'i4':
-            case 'int':
-                cValue.type = this.INT;
-                cValue.value = this.parseString(node.firstChild);
-                break;
-            case 'boolean':
-                cValue.type = this.BOOLEAN;
-                cValue.value = this.parseString(node.firstChild);
-                break;
-            case 'double':
-                cValue.type = this.DOUBLE;
-                cValue.value = this.parseString(node.firstChild);
-                break;
-            case 'dateTime.iso8601':
-                cValue.type = this.DATETIME;
-                cValue.value = this.parseString(node.firstChild);
-                break;
-            case 'base64':
-                cValue.type = this.BASE64;
-                cValue.value = this.parseString(node.firstChild);
-                break;
-            case 'struct':
-                cValue.type = this.STRUCT;
-                this.parseStruct(cValue, node.firstChild);
-                break;
-            case 'array':
-                cValue.type = this.ARRAY;
-                this.parseArray(cValue, node.firstChild);
-                break;
-            default:
-                throw Components.Exception('Expecting a value type', null, null,
-                                           node);
-        }
-        return cValue;
-    },
-
-    parseString: function(node) {
-        value = '';
-        while (node) {
-            if (node.nodeType != DOMNode.TEXT_NODE)
-                throw Components.Exception('Expecting a text node', null, null,
-                                           node);
-            value += node.nodeValue; 
-            node = node.nextSibling;
-        }
-        return value;
-    },
-
-    parseStruct: function(struct, node) {
-        while (node) {
-            if (node.nodeType == DOMNode.TEXT_NODE)
-                node = node.nextSibling;
-            if (!node)
-                return;
-            if ((node.nodeType != DOMNode.ELEMENT_NODE) ||
-                (node.nodeName != 'member')) {
-                throw Components.Exception('Expecting a member', null, null,
-                                           node);
-            }
-            this.parseMember(struct, node.firstChild);
-            node = node.nextSibling;
-        }
-    },
-
-    parseMember: function(struct, node) {
-        var cValue;
-        if (node.nodeType == DOMNode.TEXT_NODE)
-            node = node.nextSibling;
-        if (!node || (node.nodeType != DOMNode.ELEMENT_NODE) ||
-            (node.nodeName != 'name')) {
-            throw Components.Exception('Expecting a name', null, null, node);
-        }
-        struct.name = this.parseString(node.firstChild);
-        cValue = this.parseValue(node.nextSibling);
-        struct.appendValue(cValue.value);
-    },
-
-    parseArray: function(array, node) {
-        if (node.nodeType == DOMNode.TEXT_NODE)
-            node = node.nextSibling;
-        if (!node || (node.nodeType != DOMNode.ELEMENT_NODE) ||
-            (node.nodeName != 'data')) {
-            throw Components.Exception('Expecting array data', null, null, node);
-        }
-        for (node = node.firstChild; node; node = node.nextSibling) {
-            if (node.nodeType == DOMNode.TEXT_NODE)
-                continue;
-            array.appendValue(this.parseValue(node).value);
-        }
-    },
-
-    parseFault: function(node) {
-        var fault = createInstance(XMLRPCFAULT_CONTRACTID, 'nsIXmlRpcFault');
-        var cValue = this.parseValue(node);
-        if ((cValue.type != this.STRUCT) ||
-            (!cValue.value.hasKey('faultCode')) ||
-            (!cValue.value.hasKey('faultString'))) {
-            throw Components.Exception('Invalid fault', null, null, node);
-        }
-        fault.init(cValue.value.getValue('faultCode').data,
-                   cValue.value.getValue('faultString').data);
-        return fault;
-    }
-};
-
-if (XPCOMUtils.generateNSGetFactory)
-    var NSGetFactory = XPCOMUtils.generateNSGetFactory([nsXmlRpcClient]);
-else
-    var NSGetModule = XPCOMUtils.generateNSGetModule([nsXmlRpcClient]);
-
-/* The XMLWriter class constructor */
-function XMLWriter(encoding) {
-    if (!encoding)
-        encoding = "UTF-8";
-    this.data = '<?xml version="1.0" encoding="' + encoding + '"?>';
-}
-
-/* The XMLWriter class def */
-XMLWriter.prototype = {
-    data: '',
-    
-    startElement: function(element) {
-        this.data += '<' + element + '>';
-    },
-
-    endElement: function(element) {
-        this.data += '</' + element + '>';
-    },
-    
-    write: function(text) {
-        for (var i = 0; i < text.length; i++) {
-            var c = text[i];
-            switch (c) {
-                case '<':
-                    this.data += '&lt;';
-                    break;
-                case '&':
-                    this.data += '&amp;';
-                    break;
-                default:
-                    this.data += c;
-            }
-        }
-    },
-
-    markup: function(text) { this.data += text }
-};
-
-/* The Value class contructor */
-function Value() { this.type = this.STRING; };
-
-/* The Value class def */
-Value.prototype = {
-    INT:      nsXmlRpcClient.prototype.INT,
-    BOOLEAN:  nsXmlRpcClient.prototype.BOOLEAN,
-    STRING:   nsXmlRpcClient.prototype.STRING,
-    DOUBLE:   nsXmlRpcClient.prototype.DOUBLE,
-    DATETIME: nsXmlRpcClient.prototype.DATETIME,
-    ARRAY:    nsXmlRpcClient.prototype.ARRAY,
-    STRUCT:   nsXmlRpcClient.prototype.STRUCT,
-    BASE64:   nsXmlRpcClient.prototype.BASE64,
-    
-    _createType: nsXmlRpcClient.prototype.createType,
-
-    name: null,
-    
-    _value: null,
-    get value() { return this._value; },
-    set value(val) {
-        // accepts [0-9]+ or x[0-9a-fA-F]+ and returns the character.
-        function entityTrans(substr, code) {
-            return String.fromCharCode("0" + code);
-        }
-        
-        switch (this.type) {
-            case this.STRING:
-                val = val.replace(/&#([0-9]+);/g, entityTrans);
-                val = val.replace(/&#(x[0-9a-fA-F]+);/g, entityTrans);
-                val = val.replace(/&lt;/g, '<');
-                val = val.replace(/&gt;/g, '>');
-                val = val.replace(/&amp;/g, '&');
-                this._value.data = val;
-                break;
-        
-            case this.BOOLEAN:
-                this._value.data = (val == 1);
-                break;
-
-            case this.DATETIME:
-                this._value.data = Date.UTC(val.slice(0, 4), 
-                    val.slice(4, 6) - 1, val.slice(6, 8), val.slice(9, 11),
-                    val.slice(12, 14), val.slice(15));
-                break;
-
-            case this.BASE64:
-                this._value.data = base64ToString(val);
-                break;
-
-            default:
-                this._value.data = val;
-        }
-    },
-
-    _type: null,
-    get type() { return this._type; },
-    set type(type) { 
-        this._type = type;
-        if (type == this.BASE64) 
-            this._value = this._createType(this.STRING, {});
-        else this._value = this._createType(type, {});
-    },
-
-    appendValue: function(val) {
-        switch (this.type) {
-            case this.ARRAY:
-                this.value.AppendElement(val);
-                break;
-
-            case this.STRUCT:
-                this.value.setValue(this.name, val);
-                break;
-        }
-    }
-};
-
-/*
- * Objects
- */
-
-/* nsXmlRpcClient Module (for XPCOM registration) */
-var nsXmlRpcClientModule = {
-    registerSelf: function(compMgr, fileSpec, location, type) {
-        compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
-
-        compMgr.registerFactoryLocation(XMLRPCCLIENT_CID, 
-                                        'XML-RPC Client JS component', 
-                                        XMLRPCCLIENT_CONTRACTID, 
-                                        fileSpec,
-                                        location, 
-                                        type);
-        compMgr.registerFactoryLocation(XMLRPCFAULT_CID, 
-                                        'XML-RPC Fault JS component', 
-                                        XMLRPCFAULT_CONTRACTID, 
-                                        fileSpec,
-                                        location, 
-                                        type);
-    },
-
-    getClassObject: function(compMgr, cid, iid) {
-        if (!cid.equals(XMLRPCCLIENT_CID) && !cid.equals(XMLRPCFAULT_CID))
-            throw Components.results.NS_ERROR_NO_INTERFACE;
-
-        if (!iid.equals(Components.interfaces.nsIFactory))
-            throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
-
-        if (cid.equals(XMLRPCCLIENT_CID))
-            return nsXmlRpcClientFactory
-        else return nsXmlRpcFaultFactory;
-    },
-
-    canUnload: function(compMgr) { return true; }
-};
-
-/* nsXmlRpcClient Class Factory */
-var nsXmlRpcClientFactory = {
-    createInstance: function(outer, iid) {
-        if (outer != null)
-            throw Components.results.NS_ERROR_NO_AGGREGATION;
-    
-        if (!iid.equals(XMLRPCCLIENT_IID) &&
-            !iid.equals(Components.interfaces.nsISupports))
-            throw Components.results.NS_ERROR_INVALID_ARG;
-
-        return new nsXmlRpcClient();
-    }
-}
-
-/* nsXmlRpcFault Class Factory */
-var nsXmlRpcFaultFactory = {
-    createInstance: function(outer, iid) {
-        if (outer != null)
-            throw Components.results.NS_ERROR_NO_AGGREGATION;
-
-        if (!iid.equals(XMLRPCFAULT_IID) &&
-            !iid.equals(Components.interfaces.nsISupports))
-            throw Components.results.NS_ERROR_INVALID_ARG;
-
-        return new nsXmlRpcFault();
-    }
-}
-
-/*
- * Functions
- */
-/* module initialisation */
-function NSGetModule(comMgr, fileSpec) { return nsXmlRpcClientModule; }
-
-/* Create an instance of the given ContractID, with given interface */
-function createInstance(contractId, intf) {
-    return Components.classes[contractId]
-        .createInstance(Components.interfaces[intf]);
-}
-
-/* Get a pointer to a service indicated by the ContractID, with given interface */
-function getService(contractId, intf) {
-    return Components.classes[contractId]
-        .getService(Components.interfaces[intf]);
-}
-
-/* Convert an inputstream to a scriptable inputstream */
-function toScriptableStream(input) {
-    var SIStream = Components.Constructor(
-        '@mozilla.org/scriptableinputstream;1',
-        'nsIScriptableInputStream', 'init');
-    return new SIStream(input);
-}
-
-/* format a Date object into a iso8601 datetime string, UTC time */
-function iso8601Format(date) {
-    var datetime = date.getUTCFullYear();
-    var month = String(date.getUTCMonth() + 1);
-    datetime += (month.length == 1 ?  '0' + month : month);
-    var day = date.getUTCDate();
-    datetime += (day < 10 ? '0' + day : day);
-
-    datetime += 'T';
-
-    var hour = date.getUTCHours();
-    datetime += (hour < 10 ? '0' + hour : hour) + ':';
-    var minutes = date.getUTCMinutes();
-    datetime += (minutes < 10 ? '0' + minutes : minutes) + ':';
-    var seconds = date.getUTCSeconds();
-    datetime += (seconds < 10 ? '0' + seconds : seconds);
-
-    return datetime;
-}
-
-/* Convert a stream to Base64, writing it away to a string writer */
-const BASE64CHUNK = 255; // Has to be dividable by 3!!
-function streamToBase64(stream, writer) {
-    while (stream.available()) {
-        var data = [];
-        while (data.length < BASE64CHUNK && stream.available()) {
-            var d = stream.read(1).charCodeAt(0);
-            // reading a 0 results in NaN, compensate.
-            data = data.concat(isNaN(d) ? 0 : d);
-        }
-        writer.write(toBase64(data));
-    }
-}
-
-/* Convert data (an array of integers) to a Base64 string. */
-const toBase64Table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' +
-    '0123456789+/';
-const base64Pad = '=';
-function toBase64(data) {
-    var result = '';
-    var length = data.length;
-    var i;
-    // Convert every three bytes to 4 ascii characters.
-    for (i = 0; i < (length - 2); i += 3) {
-        result += toBase64Table[data[i] >> 2];
-        result += toBase64Table[((data[i] & 0x03) << 4) + (data[i+1] >> 4)];
-        result += toBase64Table[((data[i+1] & 0x0f) << 2) + (data[i+2] >> 6)];
-        result += toBase64Table[data[i+2] & 0x3f];
-    }
-
-    // Convert the remaining 1 or 2 bytes, pad out to 4 characters.
-    if (length%3) {
-        i = length - (length%3);
-        result += toBase64Table[data[i] >> 2];
-        if ((length%3) == 2) {
-            result += toBase64Table[((data[i] & 0x03) << 4) + (data[i+1] >> 4)];
-            result += toBase64Table[(data[i+1] & 0x0f) << 2];
-            result += base64Pad;
-        } else {
-            result += toBase64Table[(data[i] & 0x03) << 4];
-            result += base64Pad + base64Pad;
-        }
-    }
-
-    return result;
-}
-
-/* Convert Base64 data to a string */
-const toBinaryTable = [
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
-    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63,
-    52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1, 0,-1,-1,
-    -1, 0, 1, 2,  3, 4, 5, 6,  7, 8, 9,10, 11,12,13,14,
-    15,16,17,18, 19,20,21,22, 23,24,25,-1, -1,-1,-1,-1,
-    -1,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40,
-    41,42,43,44, 45,46,47,48, 49,50,51,-1, -1,-1,-1,-1
-];
-function base64ToString(data) {
-    var result = '';
-    var leftbits = 0; // number of bits decoded, but yet to be appended
-    var leftdata = 0; // bits decoded, but yet to be appended
-
-    // Convert one by one.
-    for (var i = 0; i < data.length; i++) {
-        var c = toBinaryTable[data.charCodeAt(i) & 0x7f];
-        var padding = (data[i] == base64Pad);
-        // Skip illegal characters and whitespace
-        if (c == -1) continue;
-        
-        // Collect data into leftdata, update bitcount
-        leftdata = (leftdata << 6) | c;
-        leftbits += 6;
-
-        // If we have 8 or more bits, append 8 bits to the result
-        if (leftbits >= 8) {
-            leftbits -= 8;
-            // Append if not padding.
-            if (!padding)
-                result += String.fromCharCode((leftdata >> leftbits) & 0xff);
-            leftdata &= (1 << leftbits) - 1;
-        }
-    }
-
-    // If there are any bits left, the base64 string was corrupted
-    if (leftbits)
-        throw Components.Exception('Corrupted base64 string');
-
-    return result;
-}
-
-if (DEBUG) debug = function(msg) { 
-    dump(' -- XML-RPC client -- : ' + msg + '\n'); 
-};
-else debug = function() {}
-
-// vim:sw=4:sr:sta:et:sts:
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/components/xml-rpc.xpt b/addons/plugin_thunderbird/plugin/openerp_plugin/components/xml-rpc.xpt
deleted file mode 100644 (file)
index 8e59aa2..0000000
Binary files a/addons/plugin_thunderbird/plugin/openerp_plugin/components/xml-rpc.xpt and /dev/null differ
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/defaults/preferences/tiny.js b/addons/plugin_thunderbird/plugin/openerp_plugin/defaults/preferences/tiny.js
deleted file mode 100644 (file)
index 9a21e9a..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
- pref("network.protocol-handler.app.http","/usr/bin/firefox");
-pref("network.protocol-handler.app.https","/usr/bin/firefox");
-pref("extensions.tiny.serverurl", "http://localhost");
-pref("extensions.tiny.serverport", "8069");
-pref("extensions.tiny.webserverurl", "http://localhost:8080");
-pref("extensions.tiny.webserverport", "8080");
-pref("extensions.tiny.serverdbname", "terp");
-pref("extensions.tiny.username","admin");
-pref("extensions.tiny.password","admin");
-pref("extensions.tiny.senderemail","");
-pref("extensions.tiny.sendername","");
-pref("extensions.tiny.statutdoc","");// add to have a statut to hidde or not the button
-pref("extensions.tiny.message_label","");// add to message in push dialog
-pref("extensions.tiny.receiveremail","");
-pref("extensions.tiny.subject","");
-pref("extensions.tiny.receiveddate","");
-pref("extensions.tiny.partnerid","");
-pref("extensions.tiny.contactid","");
-pref("extensions.tiny.attachvalue","");
-pref("extensions.tiny.cclist","");
-pref("extensions.tiny.messagebody","");
-pref("extensions.tiny.displayName","");
-pref("extensions.tiny.attachmentdata","");
-pref("extensions.tiny.userid",3);
-pref("extensions.tiny.partnername","");
-pref("extensions.tiny.officeno","");
-pref("extensions.tiny.phoneno","");
-pref("extensions.tiny.address","");
-pref("extensions.tiny.listobject","Partner,Account Invoice,Product,Sale Order,Lead and opportunities");
-pref("extensions.tiny.object","res.partner,account.invoice,product.product,sale.order,crm.lead");
-pref("extensions.tiny.imagename","chrome://openerp_plugin/skin/Partner.png,chrome://openerp_plugin/skin/Invoice.png,chrome://openerp_plugin/skin/Product.png,chrome://openerp_plugin/skin/Sale.png,chrome://openerp_plugin/skin/Case.png");
-pref("extensions.tiny.attachmentlength","");
-pref("extensions.tiny.attachment","");
-pref("extensions.tiny.db_list","false");
-pref("extensions.tiny.connect_server","false");
-pref("extensions.tiny.module_install","yes");
-pref("extensions.tiny.serverprotocol", "false");
-
-
-
-pref("mboximport.export.filenames_toascii", false);
-pref("mboximport.export.overwrite", false);
-pref("mboximport.confirm.before_mbox_import", true);
-pref("mboximport.clipboard.always_just_text", false);
-pref("mboximport.export.HTML_as_displayed", false);
-pref("mboximport.exportEML.filename_format", 0);
-pref("mboximport.delay.clean_statusbar", 5000);
-pref("mboximport.subject.max_length", 50);
-pref("mboximport.author.max_length", 50);
-pref("mboximport.recipients.max_length", 50);
-pref("extensions.{3ed8cc52-86fc-4613-9026-c1ef969da4c3}.description", "chrome://mboximport/locale/mboximport.properties");
-pref("mboximport.export.set_filetime", false);
-pref("mboximport.exportEML.use_dir", false);
-pref("mboximport.exportMBOX.use_dir", false);
-pref("mboximport.exportMSG.use_dir", false);
-pref("mboximport.export.filenames_addtime", false);
-pref("mboximport.export_all.warning1", true);
-pref("mboximport.export_all.warning2", true);
-
-pref("mboximport.exportMSG.dir", "/tmp");
-//For debug in console
-pref("browser.dom.window.dump.enabled", true);
-
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/install.js b/addons/plugin_thunderbird/plugin/openerp_plugin/install.js
deleted file mode 100644 (file)
index 50e4b30..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-// constants
-const APP_DISPLAY_NAME = "OpenERP Thunderbird Plugins";
-const APP_NAME = "OpenERP";
-const APP_VERSION = "1.0";
-const WARNING = "WARNING: You need administrator privileges to install OpenERP Thunderbird Plugin. It will be installed in the application directory for all users.";
-const VERSION_ERROR = "This extension can only be installed in a version higher than 2.0";
-const NOT_WRITABLE_ERROR = "This extension requires write access to the application directory to install properly."
-const locales = [
-       "en-US",
-       null
-];
-
-// Gecko 1.7 doesn't support custom button labels
-var incompatible = (typeof Install.BUTTON_POS_0 == "undefined");
-if (incompatible)
-       alert(VERSION_ERROR);
-
-if (!incompatible) {
-       // Check whether all directories can be accessed
-       var dirList = [
-               getFolder("Components"),
-               getFolder(getFolder("Program", "defaults"), "pref")
-       ];
-       for (var i = 0; i < dirList.length; i++)
-               if (!File.isWritable(dirList[i]))
-                       incompatible = true;
-
-       if (incompatible)
-               alert(NOT_WRITABLE_ERROR);
-}
-
-if (!incompatible && confirm(WARNING, APP_DISPLAY_NAME)) {
-       /* Pre-Install Cleanup (for prior versions) */
-
-       // List of files to be checked
-       var checkFiles = [
-               [getFolder("Components"), "nsXmlRpcClient.js"],            // Root component
-               [getFolder("Components"), "xml-rpc.xpt"],           // Component interface
-                       ];
-
-       // Remove any existing files
-       initInstall("pre-install", "/rename", "0.0");  // open dummy-install
-       for (var i = 0 ; i < checkFiles.length ; i++) {
-               var currentDir = checkFiles[i][0];
-               var name = checkFiles[i][1];
-               var oldFile = getFolder(currentDir, name);
-
-               // Find a name to rename the file into
-               var newName = name + "-uninstalled";
-               for (var n = 1; File.exists(oldFile) && File.exists(getFolder(currentDir, newName)); n++)
-                       newName = name + n + "-uninstalled";
-
-               if (File.exists(oldFile))
-                       File.rename(oldFile, newName);
-       }
-       performInstall(); // commit renamed files
-
-       /* Main part of the installation */
-
-       var chromeType = DELAYED_CHROME;
-
-       var files = [
-               ["components/nsXmlRpcClient.js", getFolder("Components")],
-               ["components/xml-rpc.xpt", getFolder("Components")],
-               ["defaults/preferences/tiny.js", getFolder(getFolder("Program", "defaults"), "pref")],
-       ];
-
-       // initialize our install
-       initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
-
-       // Add files
-       for (var i = 0; i < files.length; i++)
-               addFile(APP_NAME, APP_VERSION, files[i][0], files[i][1], null);
-
-       try {
-               var err = registerChrome(CONTENT | chromeType, jar, "content/");
-               if (err != SUCCESS)
-                       throw "Chrome registration for content failed (error code " + err + ").";
-
-               err = registerChrome(SKIN | chromeType, jar, "skin/classic/");
-               if (err != SUCCESS)
-                       throw "Chrome registration for skin failed (error code " + err + ").";
-
-               for (i = 0; i < locales.length; i++) {
-                       if (!locales[i])
-                               continue;
-
-                       err = registerChrome(LOCALE | chromeType, jar, "locale/" + locales[i] + "/");
-                       if (err != SUCCESS)
-                               throw "Chrome registration for " + locales[i] + " locale failed (error code " + err + ").";
-               }
-
-               var err = performInstall();
-               if (err != SUCCESS && err != 999)
-                       throw "Committing installation failed (error code " + err + ").";
-
-               alert("OpenERP Thunderbird Plugin " + APP_VERSION + " is now installed.\n" +
-                                       "It will become active after you restart your browser.");
-       }
-       catch (ex) {
-               alert("Installation failed: " + ex + "\n" +
-                                       "You probably don't have the necessary permissions (log in as system administrator).");
-               cancelInstall(err);
-       }
-}
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/install.rdf b/addons/plugin_thunderbird/plugin/openerp_plugin/install.rdf
deleted file mode 100644 (file)
index e922f79..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>\r
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\r
-     xmlns:em="http://www.mozilla.org/2004/em-rdf#">\r
-  <Description about="urn:mozilla:install-manifest">\r
-    <em:id>thunderbird@openerp.com</em:id>\r
-    <em:iconURL>chrome://openerp_plugin/skin/tinyerp-icon.ico</em:iconURL>\r
-    <em:name>OpenERP Plugin</em:name>\r
-    <em:version>1.0</em:version>\r
-    <em:description>OpenERP Thunderbird Integration</em:description>\r
-    <em:creator>OpenERP SA</em:creator>\r
-    <!-- optional items -->\r
-    <em:homepageURL>http://openerp.com</em:homepageURL>\r
-    <!-- Thunderbird -->\r
-    <em:targetApplication>\r
-      <Description>\r
-        <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>\r
-        <em:minVersion>2.0</em:minVersion>\r
-        <em:maxVersion>9.*</em:maxVersion>\r
-      </Description>\r
-    </em:targetApplication>\r
-  </Description>\r
-</RDF>\r
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/install.sh b/addons/plugin_thunderbird/plugin/openerp_plugin/install.sh
deleted file mode 100755 (executable)
index e1103b3..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-make clean
-make 
-cp ../openerp_plugin.xpi /home/openerp/
diff --git a/addons/plugin_thunderbird/plugin/openerp_plugin/makefile b/addons/plugin_thunderbird/plugin/openerp_plugin/makefile
deleted file mode 100644 (file)
index 17ed031..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-all: xpi
-
-jar:
-       jar cvf chrome/openerp_plugin.jar -C chrome/openerp_plugin/ .
-
-xpi: jar
-       zip -r ../openerp_plugin.xpi *
-
-clean:
-       rm ../openerp_plugin.xpi
-       rm chrome/openerp_plugin.jar
diff --git a/addons/plugin_thunderbird/plugin_thunderbird.py b/addons/plugin_thunderbird/plugin_thunderbird.py
new file mode 100644 (file)
index 0000000..7e9b562
--- /dev/null
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, either version 3 of the
+#    License, or (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields
+from osv import osv
+
+class plugin_thunderbird_installer(osv.osv_memory):
+    _name = 'plugin_thunderbird.installer'
+    _inherit = 'res.config.installer'
+
+    _columns = {
+        'name':fields.char('File name', size=34),
+        'pdf_name':fields.char('File name', size=64),
+        'thunderbird':fields.boolean('Thunderbird Plug-in', help="Allows you to select an object that you would like to add to your email and its attachments."),
+        'plugin_file':fields.char('Thunderbird Plug-in', size=256, readonly=True, help="Thunderbird plug-in file. Save as this file and install this plug-in in thunderbird."),
+        'pdf_file':fields.char('Installation Manual', size=264, help="The documentation file :- how to install Thunderbird Plug-in.", readonly=True),
+        'description':fields.text('Description', readonly=True)
+    }
+
+    _defaults = {
+        'thunderbird' : True,
+        'name' : 'openerp_plugin.xpi',
+        'pdf_file' : 'http://doc.openerp.com/book/2/2_6_Comms/2_6_Comms_thunderbird.html',
+        'plugin_file' : '/plugin_thunderbird/static/openerp_plugin.xpi',
+        'description' : """
+Thunderbird plugin installation:
+    1.  Save the Thunderbird plug-in.
+    2.  From the Thunderbird menubar: Tools ­> Add-ons -> Screwdriver/Wrench Icon -> Install add-on from file...
+    4.  Select the plug-in (the file named openerp_plugin.xpi).
+    5.  Click "Install Now".
+    6.  Restart Thunderbird.
+    7.  From the Thunderbird menubar: OpenERP -> Configuration.
+    8.  Configure your openerp server.
+"""
+    }
+
diff --git a/addons/plugin_thunderbird/plugin_thunderbird.xml b/addons/plugin_thunderbird/plugin_thunderbird.xml
new file mode 100644 (file)
index 0000000..3b4107c
--- /dev/null
@@ -0,0 +1,68 @@
+<openerp>
+  <data>
+
+    <record id="view_thunderbird_installer" model="ir.ui.view">
+      <field name="name">plugin_thunderbird.installer.view</field>
+      <field name="model">plugin_thunderbird.installer</field>
+      <field name="type">form</field>
+      <field name="inherit_id" ref="base.res_config_installer"/>
+      <field name="arch" type="xml">
+          <data>
+              <form position="attributes">
+                  <attribute name="string">Install Thunderbird Plug-In</attribute>
+              </form>
+              <separator string="title" position="attributes">
+                   <attribute name="string">Install Thunderbird Plug-In</attribute>
+              </separator>
+              <xpath expr="//label[@string='description']" position="attributes">
+                  <attribute name="string">This plug-in allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one.</attribute>
+              </xpath>
+              <xpath expr="//button[@string='Install Modules']" position="replace">
+                <button colspan="1" icon="gtk-close" special="cancel" string="_Close"/>
+              </xpath>
+              <xpath expr="//button[@string='Cancel']" position="replace">
+              </xpath>
+              <xpath expr="//separator[@string=&quot;vsep&quot;]" position="attributes">
+                  <attribute name="string"/>
+                  <attribute name="rowspan">15</attribute>
+              </xpath>
+              <group colspan="8" position="replace">
+              <group colspan="8" height="450" width="750">
+                  <field name="thunderbird" invisible="1"/>
+                  <field name="name" invisible="1"/>
+                  <field name="pdf_name" invisible="1"/>
+                  <newline/>
+
+                  <field name="plugin_file" filename="name" widget="url"/>
+                  <newline/>
+                  <field name="pdf_file" filename="pdf_name" widget="url"/>
+                  <newline/>
+                  <separator string="Installation and Configuration Steps" colspan="4"/>
+                  <field name="description" nolabel="1" colspan="8"/>
+              </group>
+              </group>
+          </data>
+      </field>
+    </record>
+
+    <record id="action_thunderbird_installer" model="ir.actions.act_window">
+      <field name="name">Install Thunderbird Plug-In</field>
+      <field name="type">ir.actions.act_window</field>
+      <field name="res_model">plugin_thunderbird.installer</field>
+      <field name="view_id" ref="view_thunderbird_installer"/>
+      <field name="view_type">form</field>
+      <field name="view_mode">form</field>
+      <field name="target">new</field>
+    </record>
+    <record id="thunderbird_installer_todo" model="ir.actions.todo">
+        <field name="action_id" ref="action_thunderbird_installer"/>
+        <field name="category_id" ref="base.category_sales_management_config"/>
+        <field name="sequence">3</field>
+        <field name="type">automatic</field>
+    </record>
+
+    <menuitem id="base.menu_base_config_plugins" name="Plugins" parent="base.menu_base_config" sequence="10"/>
+    <menuitem id="menu_base_config_plugins_thunderbird" action="action_thunderbird_installer" parent="base.menu_base_config_plugins" sequence="10"/>
+
+  </data>
+</openerp>
diff --git a/addons/plugin_thunderbird/security/ir.model.access.csv b/addons/plugin_thunderbird/security/ir.model.access.csv
deleted file mode 100644 (file)
index 6c3e955..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
-"access_thunderbird_ir_actions_todo","ir.actions.todo.thunderbird.installer","base.model_ir_actions_todo","base.group_sale_manager",1,0,0,0
diff --git a/addons/plugin_thunderbird/static/openerp_plugin.xpi b/addons/plugin_thunderbird/static/openerp_plugin.xpi
new file mode 100644 (file)
index 0000000..f2800f6
Binary files /dev/null and b/addons/plugin_thunderbird/static/openerp_plugin.xpi differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome.manifest b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome.manifest
new file mode 100644 (file)
index 0000000..a587ab5
--- /dev/null
@@ -0,0 +1,9 @@
+interfaces components/xml-rpc.xpt
+component {4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa} components/nsXmlRpcClient.js
+contract @mozilla.org/xml-rpc/client;1 {4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa}
+category profile-after-change @mozilla.org/xml-rpc/client;1
+content        openerp_plugin  jar:chrome/openerp_plugin.jar!/content/
+overlay        chrome://messenger/content/messenger.xul        chrome://openerp_plugin/content/overlay.xul
+locale openerp_plugin  en-US   jar:chrome/openerp_plugin.jar!/locale/en-US/
+skin   openerp_plugin  classic/1.0 jar:chrome/openerp_plugin.jar!/skin/
+#style chrome://global/content/customizeToolbar.xul    chrome://openerp_plugin/skin/overlay.css
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin.jar b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin.jar
new file mode 100644 (file)
index 0000000..d6ff77f
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin.jar differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/config.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/config.xul
new file mode 100644 (file)
index 0000000..86e5553
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>\r
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>\r
+<?xml-stylesheet href="style.css" type="text/css"?>\r
+<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/config.dtd">\r
+\r
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"\r
+       xmlns:html="http://www.w3.org/1999/xhtml"\r
+       title="&title.label;" onload="load_config_data();" height="500" width="580">\r
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>\r
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>\r
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/config.js"></script>\r
+<tabbox>\r
+  <tabs>\r
+    <tab label="Configuration Settings"/>\r
+    <tab label="About"/>\r
+  </tabs>\r
+  <tabpanels>\r
+    <tabpanel id="configtab">\r
+       <vbox>\r
+               <groupbox id="gpConnection" align ="center" width="530">\r
+                               <grid flex="1">\r
+                                       <columns>\r
+                                               <column  />\r
+                                               <column  />\r
+                                               <column flex="1"/>\r
+                                       </columns>\r
+                                       <rows>\r
+                                       <row>\r
+                                               <label  align="right" id="url"  value="&txturl.label;" width="80"  class="text-prompt"/>\r
+                                                       <textbox id="txturl" width="300" readonly="true" />\r
+                                                       <button label="&getdblist.label;" oncommand="openConfigChange();" image="&imagesearch.value;" width="90"/>\r
+                                       </row>\r
+                                       <row>\r
+                                                       <label align="right" id="lbldb_list1" control="DBlist" value="&database.label;" width="80" class="text-prompt"/> \r
+                                                       <textbox id="DBlist_text" width="300"/>\r
+                                       </row>\r
+                                       <row>\r
+                                                       <label align="right"  control="txtusername" value="&username.label;" width="80" class="text-prompt"/>\r
+                                                       <textbox id="txtusername" width="300"/>\r
+                                       </row>\r
+                                       <row>\r
+                                                       <label align="right" control="txtpassword" value="&password.label;" width="80" class="text-prompt"/>\r
+                                                       <textbox id="txtpassword" type="password" width="300"/>\r
+                                       </row>\r
+                                       </rows>\r
+                               </grid>\r
+                               \r
+                <separator class="groove-thin" orient="horizontal" width="94"/> \r
+                       </groupbox>\r
+                       <hbox align="right" >\r
+                               <button  id="btconnection" label="&connection.label;" oncommand="connection();" image="&imageok.value;" width="100"/>\r
+                       </hbox>\r
+               </vbox>\r
+               \r
+        <separator class="groove-thin" orient="horizontal" width="10"/> \r
+    </tabpanel>\r
\r
+    <tabpanel id="abouttab">\r
+               <groupbox id="gpAbout" width="570" align="center">\r
+                       <caption label="&gpAbout.label;" align="center"/>\r
+\r
+                       <vbox style="border:1px solid black" width="560"/>\r
+                       <description>&openerp.paresent;</description>\r
+                       <image src="chrome://openerp_plugin/skin/logo.png" sizemode="stretch" align="center"/>\r
+\r
+                       <description> </description>\r
+                       <description> </description>\r
+                       <description>&develop.value;</description>\r
+                       <image src="chrome://openerp_plugin/skin/developped_by.png" sizemode="stretch" align="center"/>\r
+                       <description> </description>\r
+                       <description> </description>\r
+                       <description>&information.value;</description>\r
+                       <description><html:a href="&openerp.value;">&openerp.value;</html:a></description>\r
+                       \r
+                       <description><html:a href="&axelor.value;">&axelor.value;</html:a></description>\r
+                       <description><html:a href="&tinyerp.value;">&tinyerp.value;</html:a></description>\r
+                       <description> </description>\r
+                       <description> </description>\r
+                       <description>Copyright © 2006-TODAY OpenERP SA All Rights Reserved.</description>\r
+                       <description>OpenERP is a trademark of the OpenERP SA Company. OpenERP Web is jointly developed by OpenERP SA &amp; Axelor.</description>\r
+                       <description>Licenced under the terms of <html:a href="https://tiny.odoo.com/LICENSE.txt"> OpenERP Public License (OEPL) v1.1 (https://tiny.odoo.com/LICENSE.txt)</html:a> </description>\r
+               </groupbox>\r
+    </tabpanel>\r
+  </tabpanels>\r
+</tabbox>\r
+</window>\r
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/config_change.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/config_change.xul
new file mode 100644 (file)
index 0000000..00a4869
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+<?xml-stylesheet href="style.css" type="text/css"?>
+<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/config_change.dtd">
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+       xmlns:html="http://www.w3.org/1999/xhtml"  onload="config_change_load();"
+       title="Openerp Connection" height="190" width="330">
+       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
+       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
+       <script type="text/javascript" src="chrome://openerp_plugin/content/js/config.js"></script>
+       <separator class="groove-thin" orient="horizontal" width="10"/> 
+       <grid flex="1">
+               <columns>
+                       <column  />
+                       <column flex="1"/>
+               </columns>
+               <rows>
+               <row>
+                       <label id="lblurl" control="txtcurl" value="&lblurl.label;" class="text-prompt"/>
+                               <textbox id="txtcurl" width="170" />
+               </row>
+               <row>
+                               <label id="lblport" control="txtcport" value="&lblport.label;" class="text-prompt"/>
+                               <textbox id="txtcport" width="170" />
+               </row>
+               <row>
+                               <label id="dbprotocol"  value="&lblprotocol.label;" class="text-prompt" />
+                               <menulist id="dbprotocol_list" width="140">
+                                       <menupopup>
+                                               <menuitem label="XML-RPC" value="http://"/>
+                                               <menuitem label="XML-RPCS" value="https://"/>
+                                       </menupopup>
+                               </menulist>
+               </row>
+               </rows>
+       </grid>
+       <hbox align="right">
+               <button label="Close" image="&imagecancel.value;" oncommand="config_close();" />
+               <button label="OK" image="&imageok.value;" oncommand="config_ok()"/>
+       </hbox>
+       <separator class="groove-thin" orient="horizontal" width="10"/> 
+</window>
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/create.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/create.xul
new file mode 100644 (file)
index 0000000..cc47b89
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+<?xml-stylesheet href="style.css" type="text/css"?>
+<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/create.dtd">
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+       xmlns:html="http://www.w3.org/1999/xhtml"
+       title="&title.label;" onload="load_createContact();" id="create_partner_window">
+       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
+       <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
+       <script type="text/javascript" src="chrome://openerp_plugin/content/js/create.js"></script>
+       <groupbox id="contact" >
+               <hbox>
+                       <textbox class="plain" style="background-color: transparent;" flex="1"
+                               multiline="true" readonly="true"
+                               onoverflow="this.height = this.inputField.scrollHeight;"
+                               value="No existing contact found, you can create a new partner with this contact or link to a existing partner" />
+               </hbox>
+               <hbox>
+                       <label align="right" id="partner" value="&selectpartner.value;" width="90" class="text-prompt"/>
+                       <textbox id="txtselectpartner" readonly="true" value="" width="170"/>
+                       <button label="Link to partner" oncommand="open_window('chrome://openerp_plugin/content/selectpartner.xul', 400, 400);" image="&imagesearch.value;"/>
+                       <button label="Clear" oncommand="clear();"/>
+               </hbox>
+       </groupbox>
+       <groupbox id="information" >
+               <caption label="Address Detail" />
+               <grid flex="1">
+                       <columns>
+                               <column />
+                               <column flex="1"/>
+                       </columns>
+                       <rows>
+                       <row>
+                               <label  align="right" id="name"  value="&name.value;" width="90" class="text-prompt"/>
+                               <textbox id="txtname" align="right" />
+                       </row>
+                       <row>
+                               <label  align="right" id="emailid"  value="&email.value;" width="90" class="text-prompt"/>
+                                       <textbox id="txtemail" align="right"/>
+                       </row>
+                       </rows>
+               </grid>
+           <separator class="groove-thin" orient="horizontal" width="90"/> 
+       </groupbox>
+       <hbox align="right">
+               <button label="cancel" image="&imagecancel.value;" oncommand="close();" />
+               <button label="create partner" image="&imageok.value;" oncommand="createContact();"/>
+       </hbox>
+</window>
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/config.js b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/config.js
new file mode 100644 (file)
index 0000000..f0f2d75
--- /dev/null
@@ -0,0 +1,122 @@
+function load_config_data() {
+           getDbList('DBlist');
+           document.getElementById("txturl").value = getServer();
+           document.getElementById("txtusername").value = getUsername();
+           document.getElementById("txtpassword").value = getPassword();
+           document.getElementById("DBlist_text").value = getDbName();
+}
+
+function config_close() {
+   window.close("chrome://openerp_plugin/content/config_change.xul", "", "chrome");
+   open_window('chrome://openerp_plugin/content/config.xul', 580,500);
+}
+
+//set the value of the configuration fields
+function config_change_load() {
+    document.getElementById('txtcurl').value = getPreferenceDefault('server_name', 'localhost')
+    document.getElementById('txtcport').value = getPreferenceDefault('serverport', '8069')
+}
+
+
+function config_ok()
+{
+    var protocol = document.getElementById("dbprotocol_list").value
+    if (document.getElementById('txtcurl').value == '' || document.getElementById('txtcport').value == '') {
+        alert("You Must Enter Server Name and a Port!")
+        return false;
+    }
+    setPreference('serverport', document.getElementById('txtcport').value)
+    setPreference('server_name', document.getElementById('txtcurl').value)
+    setServer(document.getElementById("dbprotocol_list").value+document.getElementById('txtcurl').value +":" + document.getElementById('txtcport').value);
+    config_close()
+}
+
+function openConfigChange() {
+    window.close("chrome://openerp_plugin/content/config.xul", "", "chrome");
+    open_window("chrome://openerp_plugin/content/config_change.xul", 350,200);
+}
+
+//xmlrpc request handler for getting the list of database
+var listDbHandler = {
+    onResult: function(client, context, result) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var arrMethodList = result.QueryInterface(Components.interfaces.nsISupportsArray);
+        var count = arrMethodList.Count();
+        if (count < 1) {
+               setDBList("false");
+               return
+        }
+
+        setDBList("true");
+        dbname_saved = getPreference("serverdbname")
+        
+        var menu1 = document.createElement("menulist");
+        menu1.setAttribute("id","DBlist");
+        menu1.setAttribute("width","300");
+        var menupopup1 = document.createElement("menupopup");
+        menu1.appendChild(menupopup1)
+        
+        // Loop through the results, adding items to the list
+        for (i = 0; i < count; i++) {
+            var dbname  = arrMethodList.QueryElementAt(i, Components.interfaces.nsISupportsCString).data;
+               menupopup1.appendChild(createMenuItem(dbname, dbname));
+               if (dbname == dbname_saved) {
+                       index = i
+               }
+        }
+        
+        var db_text_field = document.getElementById("DBlist_text");
+        db_text_field.parentNode.replaceChild(menu1, db_text_field);
+
+        menu1.selectedIndex = index
+    },
+
+
+    onFault: function (client, ctxt, fault) {
+        setDBList("false");
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+        setDBList("false");       
+    }
+};
+//function to get the database list
+function getDbList(argControl) {
+    setDBList("false");
+    setServerService('xmlrpc/db');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    var cmbDbList = document.getElementById(argControl);
+
+    xmlRpcClient.asyncCall(listDbHandler,cmbDbList,'list',[],0);
+    return [];
+}
+
+
+function check_database() {
+       if (getDBList()=="false") {
+        if (document.getElementById('DBlist_text').value =='') {
+            alert("You Must Enter Database Name.");
+            return false;
+        }
+        return document.getElementById('DBlist_text').value;
+    }
+    else {
+        return document.getElementById('DBlist').value;
+    }
+       
+}
+
+function connection() {
+       callback = check_connection(login_success)
+    setPreference('serverdbname', check_database())
+    setServer(document.getElementById('txturl').value);
+    setUsername(document.getElementById('txtusername').value);
+    setPassword(document.getElementById('txtpassword').value);
+       login() 
+}
+//function to check the login information
+function login_success() {
+       alert("login successfull");
+       window.close("chrome://openerp_plugin/content/config.xul", "", "chrome");
+}
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/create.js b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/create.js
new file mode 100644 (file)
index 0000000..9a54913
--- /dev/null
@@ -0,0 +1,123 @@
+function load_createContact() {
+    document.getElementById("txtname").value = getSenderName();
+    document.getElementById("txtemail").value = getSenderEmail();
+    setPartnerId(0);
+}
+
+//function to create the xmlrpc supported variables for xmlrpc request
+function dictcontact(a,b){
+    var temp = xmlRpcClient.createType(xmlRpcClient.ARRAY,{});
+    for(i=0;i<a.length;i++){
+        var strkey = xmlRpcClient.createType(xmlRpcClient.STRING,{});
+        strkey.data = a[i]
+        var strvalue = xmlRpcClient.createType(xmlRpcClient.STRING,{});
+        strvalue.data = b[i]
+        var test = xmlRpcClient.createType(xmlRpcClient.ARRAY,{});
+        test.AppendElement(strkey);
+        test.AppendElement(strvalue);
+        temp.AppendElement(test);
+    }
+    return temp;
+}
+
+function selectPartner(){
+       var item = document.getElementById('listPartnerBox').selectedItem
+       if(item) {
+               var label = item.label;
+               setPartnerId(item.value);
+               document.getElementById('txtselectpartner').setAttribute('value', label);
+               window.opener.document.getElementById('txtselectpartner').setAttribute('value', label);
+       }
+}
+
+function clear() {
+       setPartnerId(0);
+       document.getElementById('txtselectpartner').setAttribute('value', '');
+}
+
+
+//xmlrpc request handler for getting the list of partners
+var listPartnerHandler = {
+
+    onResult: function(client, context, result) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var arrMethodList = result.QueryInterface(Components.interfaces.nsISupportsArray);
+                // Set the number of results
+        var count = arrMethodList.Count();
+        var close=0;
+        clear_search_box('listPartnerBox')
+        // Loop through the results, adding items to the list
+        var cmbSearchList = document.getElementById('listPartnerBox');
+        for (i = 0; i < count; i++) {
+               var temp = arrMethodList.QueryElementAt(i, Components.interfaces.nsISupportsArray);
+            id = temp.QueryElementAt(0, Components.interfaces.nsISupportsPRInt32);
+            name = temp.QueryElementAt(1, Components.interfaces.nsISupportsCString);
+            var listItem = document.createElement("listitem");
+            cmbSearchList.appendItem(name, id)
+        }
+        
+    },
+    onFault: function (client, ctxt, fault) {
+               log_message(fault)
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+               log_message(errorMsg)
+    }
+}
+
+//function to get the list of partners
+function getPartnerList(){
+    setServerService('xmlrpc/object');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    
+       var cmdPartnerList = document.getElementById('listPartnerBox');
+    
+    var name = document.getElementById('txtselectpartner').value;
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
+    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
+    var strmethod = get_rpc_string(xmlRpcClient, 'list_document_get');
+    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
+    var strmodel = get_rpc_string(xmlRpcClient, 'res.partner');
+    var strname = get_rpc_string(xmlRpcClient, name);
+    xmlRpcClient.asyncCall(listPartnerHandler,cmdPartnerList,'execute',[ strDbName,struid,strpass,strobj,strmethod,strmodel, strname ],7);
+}
+
+
+
+//xmlrpc request handler for creating a new contact
+var listCreateContactHandler = {
+    onResult: function(client, context, result) {
+        res = extract_data(result)
+        open_url(res[URL])
+        window.close();
+    },
+    onFault: function (client, ctxt, fault) {
+               log_message(fault)
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+               log_message(errorMsg)
+    }
+}
+
+
+//function to create a new contact
+function createContact(){
+    setServerService('xmlrpc/object');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
+    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
+    var strmethod = get_rpc_string(xmlRpcClient, 'list_document_get');
+    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
+    var strmethod = get_rpc_string(xmlRpcClient, 'contact_create');
+    var strpartnerid = get_rpc_int(xmlRpcClient, getPartnerId()); 
+    var a = ['name','email'];
+    var b = [document.getElementById("txtname").value, document.getElementById("txtemail").value];
+    var arrofarr = dictcontact(a,b);
+    xmlRpcClient.asyncCall(listCreateContactHandler,null,'execute',[strDbName,struid,strpass,strobj,strmethod,arrofarr, strpartnerid], 7);
+}
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/dialog.js b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/dialog.js
new file mode 100644 (file)
index 0000000..3a40295
--- /dev/null
@@ -0,0 +1,13 @@
+function load_contact_dialog() {
+       log_message("load contact dialog")
+       if (getPreference('statutdoc')=='open') {
+               document.getElementById('open_document').hidden=false;
+               document.getElementById('new').hidden=false; 
+               document.getElementById('message_label').value="Document found"
+    }
+    else {           
+       document.getElementById('open_document').hidden=true;
+       document.getElementById('new').hidden=false;
+       document.getElementById('message_label').value="Document not found"
+       }
+}
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/overlay.js b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/overlay.js
new file mode 100644 (file)
index 0000000..a271f72
--- /dev/null
@@ -0,0 +1,142 @@
+//global array creation and declaration\r
+\r
+var MBstrBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"].\r
+            getService(Components.interfaces.nsIStringBundleService);\r
+var mboximportbundle = MBstrBundleService.createBundle("chrome://mboximport/locale/mboximport.properties"); \r
+//function to get the required details of the selected email\r
+\r
+function check(fun) {\r
+       cb = function() {\r
+               if(GetNumSelectedMessages() < 1 || GetNumSelectedMessages() > 1) {\r
+               alert("You must select only one mail to archive");\r
+               return false\r
+       }\r
+       return fun()\r
+       }\r
+    if(getPreference('userid', 'INT') == 0 || getmodule_install() == "no") {\r
+       callback = check_connection(cb)\r
+       login()\r
+       return False\r
+    }\r
+    \r
+    return cb()\r
+\r
+}\r
+\r
+var openPartnerHandler = {\r
+    onResult: function(client, context, result) {\r
+        res = extract_data(result)\r
+        if(res[RES_ID]==0) {\r
+               open_window("chrome://openerp_plugin/content/create.xul", 550, 250);\r
+            return;\r
+        } \r
+        open_url(res[URL])\r
+        \r
+        \r
+        \r
+    },\r
+    onFault: function (client, ctxt, fault) {\r
+               log_message(fault);\r
+    },\r
+\r
+    onError: function (client, ctxt, status, errorMsg) {\r
+               log_message(errorMsg)\r
+    }\r
+\r
+}\r
+\r
+function searchPartner(email)\r
+{\r
+    setServerService('xmlrpc/object');\r
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');\r
+\r
+    var xmlRpcClient = getXmlRpc();\r
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));\r
+    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));\r
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));\r
+    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');\r
+    var strmethod = get_rpc_string(xmlRpcClient, 'partner_get');\r
+    var strname = get_rpc_string(xmlRpcClient, email);\r
+    xmlRpcClient.asyncCall(openPartnerHandler,null,'execute',[ strDbName,struid,strpass,strobj,strmethod,strname ],6);\r
+}\r
+\r
+\r
+function open_partner()\r
+{\r
+    //gives the selected email uri\r
+    var messageUri= gDBView.URIForFirstSelectedMessage;\r
+    \r
+\r
+    var messenger = Components.classes['@mozilla.org/messenger;1'].createInstance(Components.interfaces.nsIMessenger);\r
+\r
+    //gives the selected email object \r
+    var message = messenger.messageServiceFromURI(messageUri).messageURIToMsgHdr(messageUri);\r
+    //functionality to split the author name and email\r
+    if(message.author.charAt(0) == '"'){\r
+        sendername = message.author.split('"')[1].split('"')[0];\r
+    }\r
+    else if(message.author.indexOf('<')!=-1){\r
+        sendername = message.author.split('<')[0];\r
+    }\r
+    else{\r
+        sendername = message.author;\r
+    }\r
+    if(message.author.indexOf('<')!=-1){\r
+        senderemail = message.author.split('<')[1].split('>')[0];\r
+    }\r
+    else{\r
+        senderemail = message.author;\r
+    }\r
+    setPreference('senderemail', senderemail);\r
+    setPreference('sendername', sendername);\r
+    searchPartner(senderemail);\r
+}\r
+\r
+\r
+var listDocumentHandler = {\r
+    onResult: function(client, context, result) {\r
+        res = extract_data(result)\r
+        \r
+        if(res[RES_ID]==0) {\r
+            setPreference('statutdoc','create');\r
+        }\r
+        else {\r
+            setPreference('statutdoc', 'open');\r
+            setPreference('urldoc', res[URL]);\r
+        } \r
+       open_window("chrome://openerp_plugin/content/push_dialog.xul", 480, 110);       \r
+\r
+    },\r
+    onFault: function (client, ctxt, fault) {\r
+               log_message(fault);\r
+    },\r
+\r
+    onError: function (client, ctxt, status, errorMsg) {\r
+               log_message(errorMsg)\r
+    }\r
+} \r
+\r
+function open_document() {\r
+    var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);\r
+\r
+    //gives the selected email uri\r
+    var messageUri = gDBView.URIForFirstSelectedMessage;\r
+    \r
+    var branchobj = getPref();\r
+    \r
+    setServerService('xmlrpc/object');\r
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');\r
+    \r
+    var xmlRpcClient = getXmlRpc();\r
+    var strDbName = get_rpc_string(xmlRpcClient, branchobj.getCharPref("serverdbname"));\r
+    var struids = get_rpc_int(xmlRpcClient, branchobj.getIntPref('userid'));\r
+    var strpass = get_rpc_string(xmlRpcClient, branchobj.getCharPref("password"));\r
+    var strmethod = get_rpc_string(xmlRpcClient, 'document_get');\r
+    \r
+    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');\r
+    \r
+    var eml_string = getMessage(messageUri);\r
+    setPreference('email_text', eml_string);\r
+    var email = get_rpc_string(xmlRpcClient, eml_string);\r
+    xmlRpcClient.asyncCall(listDocumentHandler,null,'execute',[strDbName,struids,strpass,strobj,strmethod, email],6);\r
+}\r
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/push.js b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/push.js
new file mode 100644 (file)
index 0000000..be345b2
--- /dev/null
@@ -0,0 +1,154 @@
+//xmlrpc request handler for list of search object exist in database or not.
+var DocumentTypeHandler = {
+    onResult: function(client, context, result) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var modelListRPC = result.QueryInterface(Components.interfaces.nsISupportsArray);
+        
+        var menu_popup = document.getElementById("model_list");
+        for(i = 0; i < modelListRPC.Count(); i++) {
+               var temp_array = modelListRPC.QueryElementAt(i, Components.interfaces.nsISupportsArray);
+            var model_value = temp_array.QueryElementAt(0, Components.interfaces.nsISupportsCString);
+            var model_name = temp_array.QueryElementAt(1, Components.interfaces.nsISupportsCString);
+            if(i == 0) {
+               var menuitem = document.getElementById("first_model_list");
+               menuitem.setAttribute("label", model_name);
+               menuitem.setAttribute("value", model_value);
+            }
+            else {
+               menu_popup.appendChild(createMenuItem(model_name, model_value));
+            }
+            
+        }
+    },
+
+    onFault: function (client, ctxt, fault) {
+               log_message("Fault getDocument : " + fault)
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+               log_message("Error getDocument : " + errorMsg)
+    }
+}
+
+//function to create a new attachment record
+function getDocumentType(){
+    setServerService('xmlrpc/object');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
+    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
+    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
+    var strmethod = get_rpc_string(xmlRpcClient, 'document_type');
+    xmlRpcClient.asyncCall(DocumentTypeHandler,null,'execute',[strDbName,struid,strpass,strobj,strmethod], 5);
+}
+
+/**
+ * Search Handler : Fill the result of list_document_get in the listbox
+ */
+//xmlrpc request handler for getting the search results for the particular selected check box object
+var listSearchCheckboxHandler = {
+    onResult: function(client, context, result) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var arrMethodList = result.QueryInterface(Components.interfaces.nsISupportsArray);
+                // Set the number of results
+        var count = arrMethodList.Count();
+        var close=0;
+        clear_search_box('listSearchBox')
+        if(count == 0){
+            alert("No Records Found");
+            return false;
+        }
+       
+        // Loop through the results, adding items to the list
+        var cmbSearchList = document.getElementById('listSearchBox');
+
+        for (i = 0; i < count; i++) {
+               var temp = arrMethodList.QueryElementAt(i, Components.interfaces.nsISupportsArray);
+            id = temp.QueryElementAt(0, Components.interfaces.nsISupportsPRInt32);
+            name = temp.QueryElementAt(1, Components.interfaces.nsISupportsCString);
+            var listItem = document.createElement("listitem");
+            cmbSearchList.appendItem(name, id)
+        }
+    },
+
+    onFault: function (client, ctxt, fault) {
+               log_message(fault)
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+               log_message(errorMsg)
+    }
+};
+
+//function to search the records of selected checkbox object
+function searchCheckbox()
+{
+       model_name = document.getElementById('menu_model_list').selectedItem.value;
+       name = document.getElementById('txtvalueobj').value
+
+    setServerService('xmlrpc/object');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    var cmbSearchList = document.getElementById('listSearchBox');
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
+    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
+    var strmethod = get_rpc_string(xmlRpcClient, 'list_document_get');
+    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
+    var strmodel = get_rpc_string(xmlRpcClient, model_name);
+    var strname = get_rpc_string(xmlRpcClient, name);
+    
+    xmlRpcClient.asyncCall(listSearchCheckboxHandler,cmbSearchList,'execute',[ strDbName,struid,strpass,strobj,strmethod, strmodel, strname],7);
+}
+
+
+
+//xmlrpc request handler for creating the record of mail
+var pushHandler = {
+    onResult: function(client, context, result) {
+        res = extract_data(result)
+        alert(res[ADDITIONAL_INFORMATION])
+        open_url(res[URL]);
+           window.close();
+    },
+    
+    onFault: function (client, ctxt, fault) {
+               log_message(fault)
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+               log_message(errorMsg)
+    }
+}
+
+
+function push(op) {
+       var model_name = document.getElementById('menu_model_list').selectedItem.value;
+       var res_id = 0;
+       if(op == "add") {
+               var item = document.getElementById('listSearchBox').selectedItem
+               if (String(item) == "null") {
+                       alert("select at least one Document !")
+                       return
+               }
+               
+               var res_id = item.value;
+               
+       }       
+       setServerService('xmlrpc/object');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
+    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));    
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
+    var strmethod = get_rpc_string(xmlRpcClient, 'push_message');
+    var strobj = get_rpc_string(xmlRpcClient, 'plugin.handler');
+    var stremail = get_rpc_string(xmlRpcClient, getPreference('email_text'));
+       var strmodel =  get_rpc_string(xmlRpcClient, model_name);
+       var strres_id = get_rpc_int(xmlRpcClient, res_id);
+    xmlRpcClient.asyncCall(pushHandler,null,'execute',[strDbName,struid,strpass,strobj,strmethod,strmodel, stremail, strres_id],8);
+}
+
+
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/tiny_xmlrpc.js b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/tiny_xmlrpc.js
new file mode 100644 (file)
index 0000000..0b26a8e
--- /dev/null
@@ -0,0 +1,421 @@
+/************************************************************
+*    OpenERP, Open Source Management Solution
+*    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+*
+*    This program is free software: you can redistribute it and/or modify
+*    it under the terms of the GNU Affero General Public License as
+*    published by the Free Software Foundation, either version 3 of the
+*    License, or (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*    GNU Affero General Public License for more details.
+*
+*    You should have received a copy of the GNU Affero General Public License
+*    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+***************************************************************/
+
+var xmlRpcClient;
+
+//Service name on server like /common,/db etc...
+var strServerService;
+
+
+var uri = new Array();
+var name = new Array();
+var rpc= {
+    servers: {},
+    addserver: function(name,ip,port,path) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        this.servers[name]= {
+            ip: ip,
+            port: port,
+            path: path,
+            avaible: true,
+            sock: Components.classes['@mozilla.org/xml-rpc/client;1'].createInstance(Components.interfaces.nsIXmlRpcClient)};
+    },
+    getany: function(rpcval,n) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var t = ['PRUint8','PRUint16','PRInt16','PRInt32','PRBool','Char','CString','Float','Double','PRTime','InputStream','Array','Dictionary'];
+        for (var i=0; i<t.length; i++)
+            try { return [t[i],this.Iget(rpcval,Components.interfaces[((i==10 || i==12)? 'nsI': 'nsISupports')+t[i]],n)]; } catch(e) {}
+        return [false,'error getany','Undefined type'];
+    },
+    onfault: function(t) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        return (t.constructor==Array && t.length==3 && !t[0] && (t[1].substr(0,5)=='error' || t[1].substr(0,5)=='fault'))?
+            true : false;
+    },
+    getall: function(rpcval,n) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var t = this.getany(rpcval,n);
+        if (this.onfault(t)) return t;
+        if (t[0]=='PRBool') return (t[1]=='true');
+        if (t[0]=='PRInt32') return parseInt(t[1]+'');
+        if (t[0]=='PRTime') {
+            dte= new Date("January 1, 1970, 00:00:00");
+            dte.setUTCMilliseconds(t[1]+'');
+            return dte; }
+        if (t[0]=='Double' || t[0]=='Float') return parseFloat(t[1]+'');
+        if (t[0]=='Char' || t[0]=='CString') return (t[1]+'').replace(/¬/g,'€');
+        if (t[0]=='Array') {
+            var a=[];
+            for (var i=0; i<t[1].Count(); i++) a[i]= this.getall(t[1],i);
+        } else if (t[0]=='Dictionary') {
+            var a={};
+            var keys = t[1].getKeys({});
+            for (var k = 0; k < keys.length; k++)
+                a[keys[k]]= this.getall(t[1],keys[k]);
+        } else return t[1];
+        return a;
+    },
+    Iget: function(rpcval,itype,n) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        if (n == undefined) return rpcval.QueryInterface(itype);
+        else if (n==parseInt(n)) return rpcval.QueryElementAt(n,itype);
+        else return rpcval.getValue(n).QueryInterface(itype);
+    },
+    checktype: function(val) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        if (val != undefined) {
+            switch (val.constructor) {
+                case Number: return (val==parseInt(val))? 1:4;
+                case Boolean: return 2;
+                case String: return 3;
+                case Date: return 5;
+                case Object: return 7;
+                case Array: return 6;
+
+            }
+        }
+        return 7;
+
+    },
+    set: function(rpcobj,param) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        if (param==undefined) return [false,'error set','Undefined parameter'];
+        var itype= this.checktype(param);
+        if (this.onfault(itype)) return itype;
+        var p = this.servers[rpcobj].sock.createType(itype,{});
+        if (itype==6) {
+            if (param.length>0)
+                for (var i=0; i<param.length; i++) p.AppendElement( this.set(rpcobj,param[i]) );
+        } else if (itype==7) {
+            for (var i in param) p.setValue( i, this.set(rpcobj,param[i]) );
+        } else if (itype==4) {
+            p.data=(''+param).replace(',','.');
+        } else p.data=param;
+        return p;
+    },
+    ask: function(rpcobj,method,params,func_out) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var a=this.disableNset(rpcobj) ;
+        if (this.onfault(a)) return a;
+        var handler = {
+            onResult: function(client, async, result) {
+                rpc.servers[rpcobj].avaible= true;
+                func_out(rpc.getall(result)); },
+            onFault: function (client, async, faute) {alert("in ask infault"+result)
+                 rpc.servers[rpcobj].avaible= true; func_out([false,'fault',faute]); },
+            onError: function (client, async, status, msg) {
+                rpc.servers[rpcobj].avaible= true;
+                if (status=='2147500037') {
+                    status= "no network or no server";
+                    msg= "1. Check your network connection.";
+                    msg+= "\n2. Check your server connection parameters:";
+                    msg+= "\n\t"+rpc.servers[rpcobj].ip+":"+rpc.servers[rpcobj].port+"=>"+params[0];
+                    msg+= "\n3. Your server may not be launched or connected to the network.";
+                }
+                func_out([false,'error '+status,msg]);
+                } };
+        var p = [];
+        for (var i=0; i<params.length; i++)
+            p[i]= this.set(rpcobj,params[i]);
+        try { this.servers[rpcobj].sock.asyncCall(handler, null, method, p, p.length);
+        } catch(e) {
+            this.servers[rpcobj].avaible= true;
+            this.servers[rpcobj].sock= Components.classes['@mozilla.org/xml-rpc/client;1'].createInstance(Components.interfaces.nsIXmlRpcClient) ;
+            func_out([false,'error catch',e]); }
+        return true;
+    },
+    disableNset: function(rpcobj) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        if (this.servers[rpcobj]) {
+            this.servers[rpcobj].avaible= false;//alert('http://'+this.servers[rpcobj].ip+':'+this.servers[rpcobj].port+this.servers[rpcobj].path);
+            server_path=this.servers[rpcobj].ip+':'+this.servers[rpcobj].port+this.servers[rpcobj].path
+            this.servers[rpcobj].sock.init(server_path);
+            
+            return true; }
+        return [false,'error disableNset','Server vars not set'];
+    }
+}
+
+var callback = null;
+
+//Sets the preference service
+function getPref(){
+    var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
+    var branchobj = prefService.getBranch("extensions.tiny.");
+    branchobj.QueryInterface(Components.interfaces.nsIPrefBranch2);
+    return branchobj
+}
+
+function getPreference(key, type) {
+    if (!type || type == 'STRING') {
+        return getPref().getCharPref(key);
+    }
+    if (type == 'INT') {
+        return getPref().getIntPref(key);
+    }
+}
+
+function getPreferenceDefault(key, default_value, type) {
+       res = getPreference(key, type)
+       if (!res || res == "") 
+               return default_value
+       return res
+}
+
+function setPreference(key, value, type) {
+    
+    if (!type || type == 'STRING') {
+        getPref().setCharPref(key, value);
+    }
+    if (type == 'INT') {
+        getPref().setIntPref(key, value);
+    }
+}
+
+
+
+function setServerName(server) {
+       setPreference('server_name', server)
+}
+
+function getServerName(server) {
+       getPreference('server_name')
+}
+
+//set preference value for server port
+function setPort(argPort){
+    getPref().setCharPref('serverport',argPort)
+}
+
+//get server port
+function getPort(){
+    return getPref().getCharPref('serverport');
+}
+
+
+
+
+//set preference value for server url
+function setServer(argServer){
+    getPref().setCharPref('serverurl',argServer);
+}
+
+//set preference value of username for login
+function setUsername(argUsername){
+    getPref().setCharPref('username',argUsername);
+}
+
+//set preference value of password for login
+function setPassword(argPassword){
+    getPref().setCharPref('password',argPassword);
+}
+
+
+//set server service
+function setServerService(argServerService){
+    strServerService = argServerService;
+}
+
+
+
+//set preference value for storing partner id
+function setPartnerId(argPartnerId){
+    getPref().setCharPref('partnerid',argPartnerId)
+}
+
+
+//set preference value for storing user id
+function setUserId(argUserId){
+    getPref().setIntPref('userid',argUserId);
+}
+
+//set database list is displaye or not
+function setDBList(argDBList){
+    getPref().setCharPref('db_list',argDBList)
+}
+
+//set module install or not
+function setmodule_install(argconnect_module){
+    getPref().setCharPref('module_install',argconnect_module)
+}
+
+//get module install or not
+function getmodule_install(){
+    return getPref().getCharPref('module_install');
+}
+
+
+//get partner id
+function getPartnerId(){
+    return getPref().getCharPref('partnerid');
+}
+//get database list is displaye or not
+function getDBList(){
+    return getPref().getCharPref('db_list');
+}
+
+//get serverurl
+function getServer(){
+    return getPref().getCharPref('serverurl');
+}
+
+
+//get database name
+function getDbName(){
+    return getPref().getCharPref('serverdbname');
+}
+
+//get username from config settings
+function getUsername(){
+    return getPref().getCharPref('username');
+}
+
+//get password from config settings
+function getPassword(){
+    return getPref().getCharPref('password');
+}
+
+//get serverservice
+function getServerService(){
+    return strServerService;
+
+}
+
+//get sender email //TO REMOVE
+function getSenderEmail(){
+    return getPref().getCharPref('senderemail');
+}
+
+//get sender name  //TO REMOVE
+function getSenderName() {
+        return getPref().getCharPref('sendername');
+}
+
+//get the whole server path
+function getServerUrl(){
+    return getServer()+"/"+getServerService();
+}
+
+
+//Creates and returns and instance of the XML-RPC client
+function getClient() {
+    // Enable correct security
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    return Components.classes['@mozilla.org/xml-rpc/client;1'].createInstance(Components.interfaces.nsIXmlRpcClient);
+}
+
+//returns the xmlrpc client instance
+function getXmlRpc() {
+    if (!xmlRpcClient) {
+        xmlRpcClient = getClient();
+    }
+    // Initialize the client with the URL
+    xmlRpcClient.init(getServerUrl());
+    return xmlRpcClient;
+}
+
+
+/**
+ * module_install handler
+ */
+var listinstallmodulehandler = {
+    onResult: function(client, context, result) {
+        setmodule_install('yes')
+        callback()
+    },
+    onFault: function (client, ctxt, fault) {
+        setmodule_install('no')
+        callback()
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+        setmodule_install('no')
+        callback()
+    }
+}
+/**
+ * Check is the plugin module is installed
+ */ 
+function module_install()
+{
+    setmodule_install("no")
+    
+    setServerService('xmlrpc/object');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
+    var struid = get_rpc_int(xmlRpcClient, getPreference('userid', 'INT'));
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
+    var strmethod = get_rpc_string(xmlRpcClient, "is_installed");
+    var strobj = get_rpc_string(xmlRpcClient, "plugin.handler");
+    xmlRpcClient.asyncCall(listinstallmodulehandler,null,'execute',[ strDbName,struid,strpass,strobj,strmethod], 5);
+}
+
+
+//xmlrpc request handler for handling the login information
+var listcreateLoginHandler = {
+    onResult: function(client, context, result) {
+        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+        var login = result.QueryInterface(Components.interfaces.nsISupportsPrimitive)
+        if(login.type == 12){
+            login = result.QueryInterface(Components.interfaces.nsISupportsPRInt32)
+            setUserId(login.data);
+            module_install()
+        }
+        else{
+               setUserId(0);
+               callback();
+        }
+    },
+    onFault: function (client, ctxt, fault) {
+       setUserId(0);
+       callback();
+    },
+
+    onError: function (client, ctxt, status, errorMsg) {
+       setUserId(0);
+       callback();
+    }
+}
+
+
+function login(){
+    setServerService('xmlrpc/common');
+    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var xmlRpcClient = getXmlRpc();
+    var strDbName = get_rpc_string(xmlRpcClient, getPreference("serverdbname"));
+    var strusername = get_rpc_string(xmlRpcClient, getPreference('username'));
+    var strpass = get_rpc_string(xmlRpcClient, getPreference("password"));
+    xmlRpcClient.asyncCall(listcreateLoginHandler,null,'login',[strDbName,strusername,strpass],3);
+}
+
+function get_rpc_string(rpc_client, val) {
+    var str = rpc_client.createType(rpc_client.STRING,{});
+    str.data = val;
+    return str;
+}
+
+function get_rpc_int(rpc_client, val) {
+    var integer = rpc_client.createType(rpc_client.INT,{});
+    integer.data = val;
+    return integer;
+}
+
+
+
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/tools.js b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/js/tools.js
new file mode 100644 (file)
index 0000000..36cfc51
--- /dev/null
@@ -0,0 +1,91 @@
+function log_message(message) {
+    window.dump("[OPENERP-PLUGIN LOG]: " + message + "\n")
+}
+
+function getMessage(uri) {
+    var content;
+    var MsgService = messenger.messageServiceFromURI(uri);
+    var MsgStream = Components.classes["@mozilla.org/network/sync-stream-listener;1"].createInstance();
+    var MsgStrem_Inputstream = MsgStream.QueryInterface(Components.interfaces.nsIInputStream);
+    var ScriptInput = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance();
+    var ScriptInputStream = ScriptInput.QueryInterface(Components.interfaces.nsIScriptableInputStream);
+    ScriptInputStream.init(MsgStream);
+    try {
+        MsgService.streamMessage(uri,MsgStream, msgWindow, null, false, null);
+    } catch (ex) {
+        return;
+    }
+    ScriptInputStream .available();
+    while (ScriptInputStream .available()) {
+        content = content + ScriptInputStream.read(512);
+    }
+    return content
+    
+}
+
+function createMenuItem(aLabel, aValue) {
+    const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+    var item = document.createElementNS(XUL_NS, "menuitem"); // create a new XUL menuitem
+    item.setAttribute("label", aLabel);
+    item.setAttribute("value", aValue);
+    return item;
+}
+
+    
+function clear_search_box(element) {
+       var cmbSearchList = document.getElementById(element);
+       count = cmbSearchList.itemCount
+       for(i = 1; i <= count; i++) {
+               cmbSearchList.removeItemAt(count - i)   
+       }
+}
+
+function open_url(url) {
+       netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+       var messenger = Components.classes['@mozilla.org/messenger;1'].createInstance(Components.interfaces.nsIMessenger);
+    messenger.launchExternalURL(url);
+}
+
+function extract_data(result) {
+       var returnArray = new Array();
+       
+       netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserAccess');
+    var res = result.QueryInterface(Components.interfaces.nsISupportsArray);
+    returnArray[0] = res.QueryElementAt(0, Components.interfaces.nsISupportsCString); 
+    returnArray[1] = res.QueryElementAt(1, Components.interfaces.nsISupportsPRInt32);
+    
+    for(i = 2; i < res.Count(); i++) {
+       returnArray[i] = res.QueryElementAt(i, Components.interfaces.nsISupportsCString); 
+    }
+    return returnArray
+}
+
+
+var MODEL = 0;
+var RES_ID = 1;
+var URL = 2;
+var ADDITIONAL_INFORMATION = 3
+
+function check_connection(callback) {
+       return function () {
+               if(getPreference('userid', 'INT') == 0) {
+                       alert("Server unreachable or login Failed, please check your connection settings")
+                       return
+               } 
+               else if (getmodule_install() == "no") {
+                       alert("Please install the thunderbird module on your '" + getDbName() +"' database and try again !");
+               return
+       }
+       return callback()
+       }
+}
+
+function open_window(url,width,height) {
+       var win = window.open(url, '', 'chrome,width='+width+',height='+height+',resizable=yes');
+       var w = ((window.screen.availWidth/2)-(width/2));
+       var h=((window.screen.availHeight/2)-(height/2));
+       win.moveTo(w,h);
+}
+
+
+
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/overlay.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/overlay.xul
new file mode 100644 (file)
index 0000000..bf825d9
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>\r
+<?xml-stylesheet href="chrome://openerp_plugin/skin/overlay.css" type="text/css"?>\r
+<!DOCTYPE overlay SYSTEM "chrome://openerp_plugin/locale/overlay.dtd">\r
+<overlay id="tiny-overlay"\r
+         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"\r
+         xmlns:html="http://www.w3.org/1999/xhtml">\r
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>\r
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>\r
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/overlay.js"></script>\r
+\r
+\r
+<menubar id="mail-menubar" >\r
+    <menu insertafter="messageMenu" id="menu_openerp" label="&openerpMenu.label;" accesskey="&openerpMenu.accesskey;"> \r
+        <menupopup id="taskPopup">\r
+            <menuitem id="tiny-openpartner" label="Contact"\r
+                      oncommand="check(open_partner);"\r
+                      image="&menuicon.value;"\r
+                      class="menuitem-iconic"\r
+                      tooltiptext="&openpartnertooltip.value;"\r
+                      />\r
+\r
+            <menuitem id="tiny-opendocument" label="Documents"\r
+                      oncommand="check(open_document);"\r
+                      image="&menuicon.value;"\r
+                      class="menuitem-iconic"\r
+                      tooltiptext="&opendocumenttooltip.value;"\r
+                      />\r
+            <menuitem id="tiny-plugin3" label="Configuration"\r
+                      oncommand="open_window('chrome://openerp_plugin/content/config.xul', 580,500);"\r
+                      image="&menuicon.settings;"\r
+                      class="menuitem-iconic"\r
+                      tooltiptext="&pluginconfig.value;"\r
+                      />\r
+        </menupopup>\r
+    </menu>\r
+</menubar>\r
+\r
+\r
+<toolbarpalette id="MailToolbarPalette">\r
+    <toolbarbutton id="GA-button2"\r
+        class="toolbarbutton-1"\r
+        image="&partnericon.value;"\r
+        label= "Contact"\r
+        oncommand="check(open_partner);"\r
+          />\r
+</toolbarpalette>\r
+<toolbarpalette id="MailToolbarPalette">\r
+    <toolbarbutton id="GA-button3"\r
+        class="toolbarbutton-1"\r
+        image="&imagearchive.value;"\r
+        label= "Documents"\r
+        oncommand="check(open_document);"  />\r
+</toolbarpalette> \r
+\r
+</overlay>\r
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push.xul
new file mode 100644 (file)
index 0000000..b57ad68
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+<?xml-stylesheet href="style.css" type="text/css"?>
+<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/plugin.dtd">
+<window id="pluginwindows" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+       xmlns:html="http://www.w3.org/1999/xhtml"
+       title="&title.label;" onload="getDocumentType()" >
+
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/push.js"></script>
+    <description></description>
+        <vbox>
+               <separator class="groove-thin" orient="horizontal"/>
+               <grid flex="1">
+                                       <columns>
+                                               <column />
+                                               <column />
+                                               <column flex="1"/>
+                                       </columns>
+                                       <rows>
+                                       <row>
+                                               <label id="lblex3" align="right" control="section" value="&object.label;" class="text-prompt" />
+                               <menulist id="menu_model_list" >
+                                   <menupopup id="model_list">
+                                       <menuitem id="first_model_list" value="" label=""/>
+                                   </menupopup>
+                               </menulist>
+                                       </row>
+                                       <row>
+                                               <label id="lblsearch" control="txtvalueobj" value="&search.label;" class="text-prompt"/>
+                               <textbox id="txtvalueobj" />
+                               <button label="&bsearch.label;" oncommand="searchCheckbox()" image="&imagesearch.value;" accesskey="s" id="search_button"/> 
+                                       </row>
+                                       </rows>
+                               </grid>
+                <hbox >
+                       <caption label="&document.label;"  id="label_box"/>
+                </hbox>
+                <vbox >
+                       <listbox height="200"  id="listSearchBox" style="border:1px solid red" seltype="multiple">
+                       <listhead>
+                               <listheader label="&listSearchBox.header;"/>
+                        </listhead>
+                        <listcols>
+                               <listcol flex="1"/>
+                        </listcols>
+                       </listbox>
+                </vbox>
+                <hbox align="right" >
+                       <button label="&attach.label;" accesskey="u" image="&imagearchive.value;" oncommand="push('add');"/>
+                </hbox>
+                <separator class="groove-thin" orient="horizontal"/>  
+        </vbox>
+    
+</window>
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push_dialog.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push_dialog.xul
new file mode 100644 (file)
index 0000000..72bc729
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>  
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>  
+<?xml-stylesheet href="style.css" type="text/css"?>
+<!-- Extremely recommended to keep this css include!! -->  
+<window id="rootWnd" title="push box"  onload="load_contact_dialog();" 
+         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">  
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/dialog.js"></script>
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/overlay.js"></script>
+       <vbox>  
+       <hbox height="50"> 
+               <label value="Message" id="message_label" class="text-border"/>  
+        </hbox>  
+        <hbox align="right">  
+               <button label="Cancel" accesskey="c" oncommand="window.close();"/>
+               <button id="push" label="Push Email" accesskey="a" oncommand="window.close();open_window('chrome://openerp_plugin/content/push.xul', 500,360);"/>
+               <button id="new" label="Create Document" accesskey="d" oncommand="window.close();open_window('chrome://openerp_plugin/content/push_new.xul', 320,100);"/>
+               <button id="open_document" label="Open Document" accesskey="o" oncommand="open_url(getPreference('urldoc'));window.close();"/>
+        </hbox>  
+    </vbox>  
+</window>  
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push_new.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/push_new.xul
new file mode 100644 (file)
index 0000000..e1d22c8
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+<?xml-stylesheet href="style.css" type="text/css"?>
+<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/plugin.dtd">
+<window id="pluginwindows" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+       xmlns:html="http://www.w3.org/1999/xhtml"
+       title="&title.label;" onload="getDocumentType()" >
+
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
+    <script type="text/javascript" src="chrome://openerp_plugin/content/js/push.js"></script>
+    <description></description>
+        <vbox>
+               <separator class="groove-thin" orient="horizontal" width="400"/>
+               <grid flex="1">
+                                       <columns>
+                                               <column />
+                                               <column />
+                                               <column flex="1"/>
+                                       </columns>
+                                       <rows>
+                                       <row>
+                                               <label id="lblex3" align="right" width="135" control="section" value="&object.label;" class="text-prompt" />
+                               <menulist id="menu_model_list" width="150">
+                                   <menupopup id="model_list">
+                                       <menuitem id="first_model_list" value="" label=""/>
+                                   </menupopup>
+                               </menulist>
+                                       </row>
+                                       </rows>
+                               </grid>
+                <hbox align="right" >
+                       <button label="&attach.label;" accesskey="u" image="&imagearchive.value;" oncommand="push();"/>
+                </hbox>
+                <separator class="groove-thin" orient="horizontal" width="480"/>  
+        </vbox>
+</window>
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/selectpartner.xul b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/selectpartner.xul
new file mode 100644 (file)
index 0000000..db1839b
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+<!DOCTYPE window SYSTEM "chrome://openerp_plugin/locale/selectpartner.dtd">
+<window id="partnerwindowsid" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml" onload="getPartnerList()"
+       title="&title.label;" height="500" width="375">
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/tiny_xmlrpc.js"></script>
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/tools.js"></script>
+<script type="text/javascript" src="chrome://openerp_plugin/content/js/create.js"></script>
+<groupbox id="gpPartner">
+       <hbox>
+               <textbox id="txtselectpartner" class="text-prompt"/>
+               <spacer width="25"/>
+               <button label="&bsearch.label;" image="&imagesearch.value;" oncommand="getPartnerList();"/>
+       </hbox>
+</groupbox>
+<listbox id="listPartnerBox" flex="1" rows="5">
+    <listhead>
+       <listheader label="&listPartnerName.header;"/>
+    </listhead>
+    <listcols>
+       <listcol flex="1"/>
+    </listcols>
+</listbox>
+<description></description>
+<hbox>
+  <spacer width="45"/>
+  <button label="cancel" image="&imagecancel.value;" oncommand="close();" />
+  <button label="link" image="&imageok.value;" oncommand="selectPartner();window.close();"/>
+</hbox>
+
+</window>
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/style.css b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/content/style.css
new file mode 100644 (file)
index 0000000..5997230
--- /dev/null
@@ -0,0 +1,10 @@
+.text-prompt {
+       padding-top: .25em;  
+       text-align: right;
+}
+
+.text-border {
+       padding: 1em; 
+       font-size : 1.2em;
+       font-weight: bold; 
+}
\ No newline at end of file
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/address.dtd b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/address.dtd
new file mode 100644 (file)
index 0000000..3dd3744
--- /dev/null
@@ -0,0 +1,26 @@
+<!ENTITY title.label "Open Contact">
+<!ENTITY name.value "Partner Name:">
+<!ENTITY contactname.value "Contact Name:">
+<!ENTITY street.value "Street:">
+<!ENTITY street2.value "Street2:">
+<!ENTITY zip.value "Zip:">
+<!ENTITY city.value "City:">
+<!ENTITY country.value "Country:">
+<!ENTITY state.value "State:">
+<!ENTITY office.value "Office:">
+<!ENTITY fax.value "Fax:">
+<!ENTITY mobile.value "Mobile:">
+<!ENTITY email.value "Email:">
+<!ENTITY emailid.value "Email ID:">
+<!ENTITY communication.value "Communication:">
+<!ENTITY postaladdress.value "Postal Address:">
+<!ENTITY ok.label "Save">
+<!ENTITY partner.label "Create New Contact :">
+<!ENTITY create.label "New Contact">
+<!ENTITY cancel.label "Close">
+<!ENTITY newpartner.label "New Partner">
+<!ENTITY bsearch.label "Search Contact">
+<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
+<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">
+<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
+<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/config.dtd b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/config.dtd
new file mode 100644 (file)
index 0000000..7111909
--- /dev/null
@@ -0,0 +1,56 @@
+<!ENTITY title.label "OpenERP Configuration">\r
+<!ENTITY separate.label "Configuration Login for OpenERP!">\r
+<!ENTITY close.label "Close">\r
+<!ENTITY database.label "Database:">\r
+<!ENTITY ok.label "OK">\r
+<!ENTITY connection.label "Connect">\r
+<!ENTITY setconnection.label "Change">\r
+<!ENTITY openconnection.label "Open">\r
+<!ENTITY txturl.label "Server: ">\r
+<!ENTITY txtweburl.label "Server: ">\r
+<!ENTITY txtwebport.label "Port: ">\r
+<!ENTITY image.label "Image : ">\r
+<!ENTITY obj.label "Document : ">\r
+<!ENTITY username.label "Username: ">\r
+<!ENTITY password.label "Password: ">\r
+<!ENTITY setdb.label "Move &gt;">\r
+<!ENTITY getdblist.label "Change">\r
+<!ENTITY gpConnection.label "Connection Parameters">\r
+<!ENTITY webConnection.label "Webserver Parameters">\r
+<!ENTITY listDBListBox.header "Available DBs">\r
+<!ENTITY listDocument.header "Document">\r
+<!ENTITY listDocumentListBox.header "Document Name">\r
+<!ENTITY document.label "Document Name : ">\r
+<!ENTITY documentcreate.label "Add">\r
+<!--<!ENTITY objectdelete.label "Delete Selected Object From The List"> -->\r
+<!ENTITY documentdelete.label "Delete">\r
+<!ENTITY gpArchive.label "Archived Email Attachment Options">\r
+<!ENTITY rdAlwaysAttached.label "Always Send Email Attachments to OpenERP">\r
+<!ENTITY rdPromptAttached.label "Prompt Before Sending Email Attachments">\r
+<!ENTITY rdNeverAttached.label "Never Send Email attachments to OpenERP">\r
+<!ENTITY reserve.value "Copyright © 2006-TODAY OpenERP SA All Rights Reserved.\r
+OpenERP is a trademark of the OpenERP SA Company. OpenERP Web is jointly developed by OpenERP SA and Axelor.\n\r
+Licenced under the terms of OpenERP Public License (OEPL) v1.1 ">\r
+<!ENTITY openerp.value "http://www.openerp.com/">\r
+<!ENTITY axelor.value "http://www.axelor.com">\r
+<!ENTITY tinyerp.value "http://tiny.be/">\r
+\r
+<!ENTITY openerp.paresent "This Thunderbird Plugin for OpenERP presently (2010-today) developed by OpenERP SA.">\r
+\r
+<!ENTITY openerp_s.value "OpenERP">\r
+<!ENTITY axelor_s.value "The Axelor Company">\r
+<!ENTITY tinyerp_s.value "The Tiny Company">\r
+\r
+<!ENTITY imageicon.value "chrome://openerp_plugin/skin/NEWT1.png">\r
+<!ENTITY gpAbout.label "OpenERP Thunderbird Plugin :">\r
+<!ENTITY develop.value "Based on original work, copyright 2003-2009, by Tiny &amp; Axelor ">\r
+<!ENTITY information.value "For more information, please visit our website">\r
+<!ENTITY contact.label "Contact Us">\r
+<!ENTITY contact.value "info@axelor.com">\r
+<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">\r
+<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">\r
+<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">\r
+<!ENTITY imagemove.value "chrome://openerp_plugin/skin/Move.gif">\r
+<!ENTITY imagemoveleft.value "chrome://openerp_plugin/skin/MoveLeft.png">\r
+<!ENTITY imagemovedown.value "chrome://openerp_plugin/skin/MoveDown.png">\r
+<!ENTITY addfile.label "Load Image">\r
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/config_change.dtd b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/config_change.dtd
new file mode 100644 (file)
index 0000000..19558a9
--- /dev/null
@@ -0,0 +1,6 @@
+<!ENTITY lblurl.label "               Server: ">\r
+<!ENTITY lblport.label "                   Port: ">\r
+<!ENTITY lblheading.label "Openerp Connection">\r
+<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">\r
+<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">\r
+<!ENTITY lblprotocol.label "Protocol Connection: ">\r
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/create.dtd b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/create.dtd
new file mode 100644 (file)
index 0000000..bb5f2c3
--- /dev/null
@@ -0,0 +1,37 @@
+<!ENTITY title.label "Create a new Contact">
+<!ENTITY name.value "Contact Name:">
+<!ENTITY street.value "Street:">
+<!ENTITY street2.value "Street2:">
+<!ENTITY zip.value "Zip:">
+<!ENTITY city.value "City:">
+<!ENTITY country.value "Country:">
+<!ENTITY state.value "State:">
+<!ENTITY office.value "Office:">
+<!ENTITY fax.value "Fax:">
+<!ENTITY mobile.value "Mobile:">
+<!ENTITY email.value "Email:">
+<!ENTITY communication.value "Communication:">
+<!ENTITY postaladdress.value "Postal Address:">
+
+
+<!ENTITY selectpartner.value "Partner:">
+<!ENTITY listEmail.header "Email">
+<!ENTITY listName.header "Name">
+<!ENTITY bsearch.label "Search">
+<!ENTITY imageicon.value "chrome://openerp_plugin/skin/NEWT1.png">
+<!ENTITY cbxarchive.label "Archive">
+<!ENTITY ok.label "Save">
+<!ENTITY cancel.label "Close">
+<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
+<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
+<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">
+
+<!ENTITY title.label "Select Partner">
+<!ENTITY listPartnerName.header "Partner Name">
+<!ENTITY bsearch.label "Search">
+<!ENTITY create.label "Create">
+<!ENTITY select.label "Select">
+<!ENTITY cancel.label "Close">
+<!ENTITY reload.label "Reload">
+<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
+<!ENTITY imagereload.value "chrome://openerp_plugin/skin/Archive.png">
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/mboximport.properties b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/mboximport.properties
new file mode 100644 (file)
index 0000000..3384542
--- /dev/null
@@ -0,0 +1,31 @@
+nomboxfile=není mbox souborem
+folderexists=Není možné importovat: složka se stejným názvem již existuje
+fileexists=Není možné importovat: soubor se stejným názvem již existuje
+nowritable=Není možné importovat: nemáte právo zápisu do složky
+exportOK=Export byl úspěšně dokončen
+isNewsgroup=Tato funkce není dostupná: export složky z IMAP účtů nebo diskuzních \nskupin je možný, pouze pokud je nastavené čtení v režimu Offline
+nofolder=Nebyla vybrána žádná cílová složka
+badfolder=Není možné importovat do této složky (typ IMAP nebo diskuzní skupina)
+exportAccount=Export všech složek
+exportFolder=Export složky
+filePickerImport=Výběr souboru k importu
+filePickerExport=Výběr cílové složky
+extensions.{3ed8cc52-86fc-4613-9026-c1ef969da4c3}.description=Umožňuje import a export souborů ve formátu mbox a eml
+virtualfolder=Toto je virtuální složka. Pro export jejich\nzpráv musíte tyto zprávy nejdříve\nzkopírovat do normální složky.
+searchdir=Vyberte složku, ve které budou vyhledány mbox soubory
+confirmimport=Chcete importovat soubor?
+endscan=Konec prohledávání složek
+internalerror=Není možné provést import, protože nastala neznámá chyba
+exportstart=Probíhá export, čekejte prosím...
+exported=Exportovalo se
+msgs=zpráv z
+nosubjectmsg=bez_predmetu
+messsubdir=zprávy
+badfolder2=Není možné importovat do této složky (IMAP nebo diskuzní skupina nebo virtuální složka)
+temp_error=Není možné importovat: nastala chyba při vytváření dočasného souboru
+importEMLstart=Pobíhá import, čekejte prosím...
+numEML=Naimportovány eml soubory:
+CSVseparator=,
+noEML=No eml file found in this directory
+backupWarning=During this operation, the program could be\nunresponsive for some minutes.\nDo you want to go on?\n  
+noWaring=Don't show again this warning
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/overlay.dtd b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/overlay.dtd
new file mode 100644 (file)
index 0000000..e649eb9
--- /dev/null
@@ -0,0 +1,18 @@
+<!ENTITY tinyplugin "Configuration">
+<!ENTITY tinypluginconfig "Push">
+<!ENTITY tinyarchive "Push to OpenERP">
+<!ENTITY imageicon.value "chrome://openerp_plugin/skin/openerp.png">
+<!ENTITY menuicon.settings "chrome://openerp_plugin/skin/settings.png">
+<!ENTITY menuicon.value "chrome://openerp_plugin/skin/openerp.png">
+<!ENTITY partnericon.value "chrome://openerp_plugin/skin/openerp.png">
+<!ENTITY imagearchive.value "chrome://openerp_plugin/skin/openerp.png">
+<!ENTITY tooltip.value "Add To Archive">
+<!ENTITY pluginconfig.value "OpenERP Configuration Settings">
+<!ENTITY pluginconfigvalue.value "Archieve To OpenERP Settings">
+<!ENTITY openerpMenu.label "OpenERP">
+<!ENTITY openerpMenu.accesskey "OE">
+<!ENTITY openpartner.value "Partner">
+<!ENTITY openpartnertooltip.value "Click to Open Partner Realted to Sender Eamil address.">
+<!ENTITY opendocument.value "Document">
+<!ENTITY opendocumenttooltip.value "Click to See the Mail if it is archived to OpenERP.">
+
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/plugin.dtd b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/plugin.dtd
new file mode 100644 (file)
index 0000000..cd00045
--- /dev/null
@@ -0,0 +1,31 @@
+<!ENTITY title.label "Push To OpenERP">
+<!ENTITY gptinyobj.label "Link to an Existing Document">
+<!ENTITY newobject.label "Create a New Documents">
+<!ENTITY document.label "Documents">
+<!ENTITY bsearch.label "Search">
+<!ENTITY close.label "Close">
+<!ENTITY attach.label "Push">
+<!ENTITY create.label "New Contact">
+<!ENTITY archive.label "Create">
+<!ENTITY attach.label "Attach">
+<!ENTITY cbxcontact.label "Contact">
+<!ENTITY cbxinvoice.label "Invoice">
+<!ENTITY cbxproject.label "Project">
+<!ENTITY cbxpartner.label "Partner">
+<!ENTITY cbxproduct.label "Product">
+<!ENTITY cbxaccount.label "Account">
+<!ENTITY cbxsale.label "Sale">
+<!ENTITY cbxcase.label "Case">
+<!ENTITY cbxtask.label "Task">
+<!ENTITY cbxselectall.label "Select All">
+<!ENTITY object.label "Type of Document :">
+<!ENTITY partner.label "Create New Contact :">
+<!ENTITY search.label "Search :">
+<!ENTITY listSearchBox.header "Name">
+<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
+<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
+<!ENTITY imagearchive.value "chrome://openerp_plugin/skin/Archive.png">
+<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
+<!ENTITY gptinyobjexe.label "Documents">
+<!ENTITY newcontact.label "Create a New Contact">
+<!ENTITY listSearchBox.header2 "Document Type">
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/selectpartner.dtd b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/locale/en-US/selectpartner.dtd
new file mode 100644 (file)
index 0000000..d568b96
--- /dev/null
@@ -0,0 +1,12 @@
+<!ENTITY title.label "Select Partner">
+<!ENTITY selectpartner.value "Partner">
+<!ENTITY listPartnerName.header "Partner Name">
+<!ENTITY bsearch.label "Search">
+<!ENTITY create.label "Create">
+<!ENTITY imageicon.value "chrome://openerp_plugin/skin/NEWT1.png">
+<!ENTITY select.label "Select">
+<!ENTITY cancel.label "Close">
+<!ENTITY imagesearch.value "chrome://openerp_plugin/skin/Search.gif">
+<!ENTITY imagecancel.value "chrome://openerp_plugin/skin/Error.gif">
+<!ENTITY imageok.value "chrome://openerp_plugin/skin/Success.gif">
+<!ENTITY imagecreate.value "chrome://openerp_plugin/skin/Create.png">
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Archive.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Archive.png
new file mode 100644 (file)
index 0000000..5aa6a95
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Archive.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Create.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Create.png
new file mode 100644 (file)
index 0000000..1ab240c
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Create.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Error.gif b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Error.gif
new file mode 100644 (file)
index 0000000..38c3523
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Error.gif differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Move.gif b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Move.gif
new file mode 100644 (file)
index 0000000..401bf86
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Move.gif differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveDown.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveDown.png
new file mode 100644 (file)
index 0000000..3761ff1
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveDown.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveLeft.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveLeft.png
new file mode 100644 (file)
index 0000000..031d753
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/MoveLeft.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Search.gif b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Search.gif
new file mode 100644 (file)
index 0000000..b29c3cf
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Search.gif differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Success.gif b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Success.gif
new file mode 100644 (file)
index 0000000..fb3bff7
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/Success.gif differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/developped_by.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/developped_by.png
new file mode 100644 (file)
index 0000000..e4004e3
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/developped_by.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/logo.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/logo.png
new file mode 100644 (file)
index 0000000..d6dbd9d
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/logo.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/openerp.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/openerp.png
new file mode 100644 (file)
index 0000000..326798d
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/openerp.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/overlay.css b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/overlay.css
new file mode 100644 (file)
index 0000000..1f71b8f
--- /dev/null
@@ -0,0 +1,3 @@
+menuitem#tiny-plugin {\r
+  color: red !important;\r
+}
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/perform.gif b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/perform.gif
new file mode 100644 (file)
index 0000000..16cc387
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/perform.gif differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/settings.png b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/settings.png
new file mode 100644 (file)
index 0000000..ad0298a
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/settings.png differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico
new file mode 100644 (file)
index 0000000..0057dc4
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/chrome/openerp_plugin/skin/tinyerp-icon.ico differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/components/nsXmlRpcClient.js b/addons/plugin_thunderbird/static/thunderbird_plugin/components/nsXmlRpcClient.js
new file mode 100644 (file)
index 0000000..cf702b4
--- /dev/null
@@ -0,0 +1,1049 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla XML-RPC Client component.
+ *
+ * The Initial Developer of the Original Code is
+ * Digital Creations 2, Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2000
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Martijn Pieters <mj@digicool.com> (original author)
+ *   Samuel Sieb <samuel@sieb.net>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+/*
+ *  nsXmlRpcClient XPCOM component
+ *  Version: $Revision: 1.39 $
+ *
+ *  $Id: nsXmlRpcClient.js,v 1.39 2006/10/24 16:02:01 silver%warwickcompsoc.co.uk Exp $
+ */
+
+/*
+ * Constants
+ */
+Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+const XMLRPCCLIENT_CONTRACTID = '@mozilla.org/xml-rpc/client;1';
+const XMLRPCCLIENT_CID =
+    Components.ID('{4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa}');
+const XMLRPCCLIENT_IID = Components.interfaces.nsIXmlRpcClient;
+
+const XMLRPCFAULT_CONTRACTID = '@mozilla.org/xml-rpc/fault;1';
+const XMLRPCFAULT_CID =
+    Components.ID('{691cb864-0a7e-448c-98ee-4a7f359cf145}');
+const XMLRPCFAULT_IID = Components.interfaces.nsIXmlRpcFault;
+
+const XMLHTTPREQUEST_CONTRACTID = '@mozilla.org/xmlextras/xmlhttprequest;1';
+
+const NSICHANNEL = Components.interfaces.nsIChannel;
+
+const DEBUG = false;
+const DEBUGPARSE = false;
+
+const DOMNode = Components.interfaces.nsIDOMNode;
+/*
+ * Class definitions
+ */
+
+/* The nsXmlRpcFault class constructor. */
+function nsXmlRpcFault() {}
+
+/* the nsXmlRpcFault class def */
+nsXmlRpcFault.prototype = {
+    faultCode: 0,
+    faultString: '',
+
+    init: function(faultCode, faultString) {
+        this.faultCode = faultCode;
+        this.faultString = faultString;
+    },
+
+    toString: function() {
+        return '<XML-RPC Fault: (' + this.faultCode + ') ' +
+            this.faultString + '>';
+    },
+
+    // nsISupports interface
+    QueryInterface: function(iid) {
+        if (!iid.equals(Components.interfaces.nsISupports) &&
+            !iid.equals(XMLRPCFAULT_IID))
+            throw Components.results.NS_ERROR_NO_INTERFACE;
+        return this;
+    }
+};
+
+/* The nsXmlRpcClient class constructor. */
+function nsXmlRpcClient() {}
+
+/* the nsXmlRpcClient class def */
+nsXmlRpcClient.prototype = {
+    _serverUrl: null,
+    _useAuth: false,
+
+    classDescription: "nsXmlRpcClient XPCOM component",
+    classID:          Components.ID("{4d7d15c0-3747-4f7f-b6b3-792a5ea1a9aa}"),
+    contractID:       "@mozilla.org/xml-rpc/client;1",
+
+    init: function(serverURL) {
+        this._serverUrl = serverURL;
+        this._encoding = "UTF-8";
+    },
+
+    setAuthentication: function(username, password){
+        if ((typeof username == "string") &&
+            (typeof password == "string")){
+          this._useAuth = true;
+          this._username = username;
+          this._password = password;
+        }
+    },
+
+    clearAuthentication: function(){
+        this._useAuth = false;
+    },
+
+    setEncoding: function(encoding){
+        this._encoding = encoding;
+    },
+
+    get serverUrl() { return this._serverUrl; },
+
+    // Internal copy of the status
+    _status: null,
+    _listener: null,
+
+    asyncCall: function(listener, context, methodName, methodArgs, count) {
+        debug('asyncCall');
+        // Check for call in progress.
+        if (this._inProgress)   
+            return;
+            //throw Components.Exception('Call in progress!');
+
+        // Check for the server URL;
+        if (!this._serverUrl)
+            throw Components.Exception('Not initialized');
+
+        this._inProgress = true;
+
+        // Clear state.
+        this._foundFault = false;
+        this._passwordTried = false;
+        this._result = null;
+        this._fault = null;
+        this._status = null;
+        this._responseStatus = null;
+        this._responseString = null;
+        this._listener = listener;
+        this._seenStart = false;
+        this._context = context;
+        
+        debug('Arguments: ' + methodArgs);
+
+        // Generate request body
+        var xmlWriter = new XMLWriter(this._encoding);
+        this._generateRequestBody(xmlWriter, methodName, methodArgs);
+
+        var requestBody = xmlWriter.data;
+
+        debug('Request: ' + requestBody);
+
+        this.xmlhttp = Components.classes[XMLHTTPREQUEST_CONTRACTID]
+            .createInstance(Components.interfaces.nsIXMLHttpRequest);
+        if (this._useAuth) {
+            this.xmlhttp.open('POST', this._serverUrl, true,
+                              this._username, this._password);
+        } else {
+            this.xmlhttp.open('POST', this._serverUrl);
+        }
+        this.xmlhttp.onload = this._onload;
+        this.xmlhttp.onerror = this._onerror;
+        this.xmlhttp.parent = this;
+        this.xmlhttp.setRequestHeader('Content-Type','text/xml');
+        this.xmlhttp.send(requestBody);
+        var chan = this.xmlhttp.channel.QueryInterface(NSICHANNEL);
+        chan.notificationCallbacks = this;
+    },
+
+    _onload: function(e) {
+        var result;
+        var parent = e.target.parent;
+        parent._inProgress = false;
+        parent._responseStatus = e.target.status;
+        parent._responseString = e.target.statusText;
+        if (!e.target.responseXML) {
+            if (e.target.status) {
+                try {
+                    parent._listener.onError(parent, parent._context,
+                        Components.results.NS_ERROR_FAILURE,
+                        'Server returned status ' + e.target.status);
+                } catch (ex) {
+                    debug('Exception in listener.onError: ' + ex);
+                }
+            } else {
+                try {
+                    parent._listener.onError(parent, parent._context,
+                                      Components.results.NS_ERROR_FAILURE,
+                                      'Unknown network error');
+                } catch (ex) {
+                    debug('Exception in listener.onError: ' + ex);
+                }
+            }
+            return;
+        }
+        try {
+            e.target.responseXML.normalize();
+            result = parent.parse(e.target.responseXML);
+        } catch (ex) {
+            try {
+                parent._listener.onError(parent, parent._context,
+                                         ex.result, ex.message);
+            } catch (ex) {
+                debug('Exception in listener.onError: ' + ex);
+            }
+            return;
+        }
+        if (parent._foundFault) {
+            parent._fault = result;
+            try {
+                parent._listener.onFault(parent, parent._context, result);
+            } catch(ex) {
+                debug('Exception in listener.onFault: ' + ex);
+            }
+        } else {
+            parent._result = result.value;
+            try { 
+                parent._listener.onResult(parent, parent._context,
+                                          result.value);
+            } catch (ex) {
+                debug('Exception in listener.onResult: ' + ex);
+            }
+        }
+    },
+
+    _onerror: function(e) {
+        var parent = e.target.parent;
+        parent._inProgress = false;
+        try {
+            parent._listener.onError(parent, parent._context,
+                                Components.results.NS_ERROR_FAILURE,
+                                'Unknown network error');
+        } catch (ex) {
+            debug('Exception in listener.onError: ' + ex);
+        }
+    },
+    
+    _foundFault: false,
+
+    _fault: null,
+    _result: null,
+    _responseStatus: null,
+    _responseString: null,
+
+    get fault() { return this._fault; },
+    get result() { return this._result; },
+    get responseStatus() { return this._responseStatus; },
+    get responseString() { return this._responseString; },
+
+    /* Convenience. Create an appropriate XPCOM object for a given type */
+    INT:      1,
+    BOOLEAN:  2,
+    STRING:   3,
+    DOUBLE:   4,
+    DATETIME: 5,
+    ARRAY:    6,
+    STRUCT:   7,
+    BASE64:   8, // Not part of nsIXmlRpcClient interface, internal use.
+    createType: function(type, uuid) {
+        const SUPPORTSID = '@mozilla.org/supports-';
+        switch(type) {
+            case this.INT:
+                uuid.value = Components.interfaces.nsISupportsPRInt32
+                return createInstance(SUPPORTSID + 'PRInt32;1',
+                    'nsISupportsPRInt32');
+
+            case this.BOOLEAN:
+                uuid.value = Components.interfaces.nsISupportsPRBool
+                return createInstance(SUPPORTSID + 'PRBool;1',
+                    'nsISupportsPRBool');
+
+            case this.STRING:
+                uuid.value = Components.interfaces.nsISupportsCString
+                return createInstance(SUPPORTSID + 'cstring;1',
+                    'nsISupportsCString');
+
+            case this.DOUBLE:
+                uuid.value = Components.interfaces.nsISupportsDouble
+                return createInstance(SUPPORTSID + 'double;1',
+                    'nsISupportsDouble');
+
+            case this.DATETIME:
+                uuid.value = Components.interfaces.nsISupportsPRTime
+                return createInstance(SUPPORTSID + 'PRTime;1',
+                    'nsISupportsPRTime');
+
+            case this.ARRAY:
+                uuid.value = Components.interfaces.nsISupportsArray
+                return createInstance(SUPPORTSID + 'array;1',
+                    'nsISupportsArray');
+
+            case this.STRUCT:
+                uuid.value = Components.interfaces.nsIDictionary
+                return createInstance('@mozilla.org/dictionary;1', 
+                    'nsIDictionary');
+
+            default: throw Components.Exception('Unsupported type');
+        }
+    },
+
+    // nsISupports interface
+    QueryInterface: function(iid) {
+        if (!iid.equals(Components.interfaces.nsISupports) &&
+            !iid.equals(XMLRPCCLIENT_IID) &&
+            !iid.equals(Components.interfaces.nsIInterfaceRequestor))
+            throw Components.results.NS_ERROR_NO_INTERFACE;
+        return this;
+    },
+
+    // nsIInterfaceRequester interface
+    getInterface: function(iid, result){
+        if (iid.equals(Components.interfaces.nsIAuthPrompt)){
+            return this;
+        }
+        Components.returnCode = Components.results.NS_ERROR_NO_INTERFACE;
+        return null;
+    },
+
+    // nsIAuthPrompt interface
+    _passwordTried: false,
+    promptUsernameAndPassword: function(dialogTitle, text, passwordRealm,
+                                        savePassword, user, pwd){
+
+        if (this._useAuth){
+            if (this._passwordTried){
+                return false;
+            }
+            user.value = this._username;
+            pwd.value = this._password;
+            this._passwordTried = true;
+            return true;
+        }
+        return false;
+    },
+
+    /* Generate the XML-RPC request body */
+    _generateRequestBody: function(writer, methodName, methodArgs) {
+        writer.startElement('methodCall');
+
+        writer.startElement('methodName');
+        writer.write(methodName);
+        writer.endElement('methodName');
+
+        writer.startElement('params');
+        for (var i = 0; i < methodArgs.length; i++) {
+            writer.startElement('param');
+            this._generateArgumentBody(writer, methodArgs[i]);
+            writer.endElement('param');
+        }
+        writer.endElement('params');
+
+        writer.endElement('methodCall');
+    },
+
+    /* Write out a XML-RPC parameter value */
+    _generateArgumentBody: function(writer, obj) {
+        writer.startElement('value');
+        var sType = this._typeOf(obj);
+        switch (sType) {
+            case 'PRUint8':
+            case 'PRUint16':
+            case 'PRInt16':
+            case 'PRInt32':
+                obj=obj.QueryInterface(Components.interfaces['nsISupports' +
+                    sType]);
+                writer.startElement('i4');
+                writer.write(obj.toString());
+                writer.endElement('i4');
+                break;
+
+            case 'PRBool':
+                obj=obj.QueryInterface(Components.interfaces.nsISupportsPRBool);
+                writer.startElement('boolean');
+                writer.write(obj.data ? '1' : '0');
+                writer.endElement('boolean');
+                break;
+
+            case 'Char':
+            case 'CString':
+                obj=obj.QueryInterface(Components.interfaces['nsISupports' +
+                    sType]);
+                writer.startElement('string');
+                writer.write(obj.toString());
+                writer.endElement('string');
+                break;
+
+            case 'Float':
+            case 'Double':
+                obj=obj.QueryInterface(Components.interfaces['nsISupports' +
+                    sType]);
+                writer.startElement('double');
+                writer.write(obj.toString());
+                writer.endElement('double');
+                break;
+
+            case 'PRTime':
+                obj = obj.QueryInterface(
+                    Components.interfaces.nsISupportsPRTime);
+                var date = new Date(obj.data)
+                writer.startElement('dateTime.iso8601');
+                writer.write(iso8601Format(date));
+                writer.endElement('dateTime.iso8601');
+                break;
+                
+            case 'InputStream':
+                obj = obj.QueryInterface(Components.interfaces.nsIInputStream);
+                obj = toScriptableStream(obj);
+                writer.startElement('base64');
+                streamToBase64(obj, writer);
+                writer.endElement('base64');
+                break;
+            
+            case 'Array':
+                obj = obj.QueryInterface(
+                    Components.interfaces.nsISupportsArray);
+                writer.startElement('array');
+                writer.startElement('data');
+                for (var i = 0; i < obj.Count(); i++)
+                    this._generateArgumentBody(writer, obj.GetElementAt(i));
+                writer.endElement('data');
+                writer.endElement('array');
+                break;
+
+            case 'Dictionary':
+                obj = obj.QueryInterface(Components.interfaces.nsIDictionary);
+                writer.startElement('struct');
+                var keys = obj.getKeys({});
+                for (var k = 0; k < keys.length; k++) {
+                    writer.startElement('member');
+                    writer.startElement('name');
+                    writer.write(keys[k]);
+                    writer.endElement('name');
+                    this._generateArgumentBody(writer, obj.getValue(keys[k]));
+                    writer.endElement('member');
+                }
+                writer.endElement('struct');
+                break;
+
+            default:
+                throw Components.Exception('Unsupported argument', null, null,
+                    obj);
+        }
+
+        writer.endElement('value');
+    },
+
+    /* Determine type of a nsISupports primitive, array or dictionary. */
+    _typeOf: function(obj) {
+        // XPConnect alows JS to pass in anything, because we are a regular
+        // JS object to it. So we have to test rigorously.
+        if (typeof obj != 'object') return 'Unknown';
+
+        // Anything else not nsISupports is not allowed.
+        if (typeof obj.QueryInterface != 'function') return 'Unknown';
+
+        // Now we will have to eliminate by trying all possebilities.
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsPRUint8);
+            return 'PRUint8';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsPRUint16);
+            return 'PRUint16';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsPRInt16);
+            return 'PRInt16';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsPRInt32);
+            return 'PRInt32';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsPRBool);
+            return 'PRBool';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsChar);
+            return 'Char';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsCString);
+            return 'CString';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsFloat);
+            return 'Float';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsDouble);
+            return 'Double';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsPRTime);
+            return 'PRTime';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsIInputStream);
+            return 'InputStream';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsISupportsArray);
+            return 'Array';
+        } catch(e) {}
+        
+        try {
+            obj.QueryInterface(Components.interfaces.nsIDictionary);
+            return 'Dictionary';
+        } catch(e) {}
+        
+        // Not a supported type
+        return 'Unknown';
+    },
+
+    // Response parsing state
+    _valueStack: [],
+    _currValue: null,
+    _cdata: null,
+
+    parse: function(doc) {
+        var node = doc.firstChild;
+        var result;
+        if (node.nodeType == DOMNode.TEXT_NODE)
+            node = node.nextSibling;
+        if ((node.nodeType != DOMNode.ELEMENT_NODE) ||
+            (node.nodeName != 'methodResponse')) {
+            throw Components.Exception('Expecting a methodResponse', null, null,
+                                       doc);
+        }
+        node = node.firstChild;
+        if (node.nodeType == DOMNode.TEXT_NODE)
+            node = node.nextSibling;
+        if (node.nodeType != DOMNode.ELEMENT_NODE)
+            throw Components.Exception('Expecting a params or fault', null,
+                                       null, doc);
+        if (node.nodeName == 'params') {
+            node = node.firstChild;
+            if (node.nodeType == DOMNode.TEXT_NODE)
+                node = node.nextSibling;
+            if ((node.nodeType != DOMNode.ELEMENT_NODE) ||
+                (node.nodeName != 'param')) {
+                throw Components.Exception('Expecting a param', null, null,
+                                           doc);
+            }
+            result = this.parseValue(node.firstChild);
+        } else if (node.nodeName == 'fault') {
+            this._foundFault = true;
+            result = this.parseFault(node.firstChild);
+        } else {
+            throw Components.Exception('Expecting a params or fault', null,
+                                       null, doc);
+        }
+        debug('Parse finished');
+        return result;
+    },
+
+    parseValue: function(node) {
+        var cValue = new Value();
+        if (node && (node.nodeType == DOMNode.TEXT_NODE))
+            node = node.nextSibling;
+        if (!node || (node.nodeType != DOMNode.ELEMENT_NODE) ||
+            (node.nodeName != 'value')) {
+            throw Components.Exception('Expecting a value', null, null, node);
+        }
+        node = node.firstChild;
+        if (!node)
+            return cValue;
+        if (node.nodeType == DOMNode.TEXT_NODE){
+            if (!node.nextSibling) {
+                cValue.value = node.nodeValue;
+                return cValue;
+            } else {
+                node = node.nextSibling;
+            }
+        }
+        if (node.nodeType != DOMNode.ELEMENT_NODE)
+            throw Components.Exception('Expecting a value type', null, null,
+                                       node);
+        switch (node.nodeName) {
+            case 'string':
+                cValue.value = this.parseString(node.firstChild);
+                break;
+            case 'i4':
+            case 'int':
+                cValue.type = this.INT;
+                cValue.value = this.parseString(node.firstChild);
+                break;
+            case 'boolean':
+                cValue.type = this.BOOLEAN;
+                cValue.value = this.parseString(node.firstChild);
+                break;
+            case 'double':
+                cValue.type = this.DOUBLE;
+                cValue.value = this.parseString(node.firstChild);
+                break;
+            case 'dateTime.iso8601':
+                cValue.type = this.DATETIME;
+                cValue.value = this.parseString(node.firstChild);
+                break;
+            case 'base64':
+                cValue.type = this.BASE64;
+                cValue.value = this.parseString(node.firstChild);
+                break;
+            case 'struct':
+                cValue.type = this.STRUCT;
+                this.parseStruct(cValue, node.firstChild);
+                break;
+            case 'array':
+                cValue.type = this.ARRAY;
+                this.parseArray(cValue, node.firstChild);
+                break;
+            default:
+                throw Components.Exception('Expecting a value type', null, null,
+                                           node);
+        }
+        return cValue;
+    },
+
+    parseString: function(node) {
+        value = '';
+        while (node) {
+            if (node.nodeType != DOMNode.TEXT_NODE)
+                throw Components.Exception('Expecting a text node', null, null,
+                                           node);
+            value += node.nodeValue; 
+            node = node.nextSibling;
+        }
+        return value;
+    },
+
+    parseStruct: function(struct, node) {
+        while (node) {
+            if (node.nodeType == DOMNode.TEXT_NODE)
+                node = node.nextSibling;
+            if (!node)
+                return;
+            if ((node.nodeType != DOMNode.ELEMENT_NODE) ||
+                (node.nodeName != 'member')) {
+                throw Components.Exception('Expecting a member', null, null,
+                                           node);
+            }
+            this.parseMember(struct, node.firstChild);
+            node = node.nextSibling;
+        }
+    },
+
+    parseMember: function(struct, node) {
+        var cValue;
+        if (node.nodeType == DOMNode.TEXT_NODE)
+            node = node.nextSibling;
+        if (!node || (node.nodeType != DOMNode.ELEMENT_NODE) ||
+            (node.nodeName != 'name')) {
+            throw Components.Exception('Expecting a name', null, null, node);
+        }
+        struct.name = this.parseString(node.firstChild);
+        cValue = this.parseValue(node.nextSibling);
+        struct.appendValue(cValue.value);
+    },
+
+    parseArray: function(array, node) {
+        if (node.nodeType == DOMNode.TEXT_NODE)
+            node = node.nextSibling;
+        if (!node || (node.nodeType != DOMNode.ELEMENT_NODE) ||
+            (node.nodeName != 'data')) {
+            throw Components.Exception('Expecting array data', null, null, node);
+        }
+        for (node = node.firstChild; node; node = node.nextSibling) {
+            if (node.nodeType == DOMNode.TEXT_NODE)
+                continue;
+            array.appendValue(this.parseValue(node).value);
+        }
+    },
+
+    parseFault: function(node) {
+        var fault = createInstance(XMLRPCFAULT_CONTRACTID, 'nsIXmlRpcFault');
+        var cValue = this.parseValue(node);
+        if ((cValue.type != this.STRUCT) ||
+            (!cValue.value.hasKey('faultCode')) ||
+            (!cValue.value.hasKey('faultString'))) {
+            throw Components.Exception('Invalid fault', null, null, node);
+        }
+        fault.init(cValue.value.getValue('faultCode').data,
+                   cValue.value.getValue('faultString').data);
+        return fault;
+    }
+};
+
+if (XPCOMUtils.generateNSGetFactory)
+    var NSGetFactory = XPCOMUtils.generateNSGetFactory([nsXmlRpcClient]);
+else
+    var NSGetModule = XPCOMUtils.generateNSGetModule([nsXmlRpcClient]);
+
+/* The XMLWriter class constructor */
+function XMLWriter(encoding) {
+    if (!encoding)
+        encoding = "UTF-8";
+    this.data = '<?xml version="1.0" encoding="' + encoding + '"?>';
+}
+
+/* The XMLWriter class def */
+XMLWriter.prototype = {
+    data: '',
+    
+    startElement: function(element) {
+        this.data += '<' + element + '>';
+    },
+
+    endElement: function(element) {
+        this.data += '</' + element + '>';
+    },
+    
+    write: function(text) {
+        for (var i = 0; i < text.length; i++) {
+            var c = text[i];
+            switch (c) {
+                case '<':
+                    this.data += '&lt;';
+                    break;
+                case '&':
+                    this.data += '&amp;';
+                    break;
+                default:
+                    this.data += c;
+            }
+        }
+    },
+
+    markup: function(text) { this.data += text }
+};
+
+/* The Value class contructor */
+function Value() { this.type = this.STRING; };
+
+/* The Value class def */
+Value.prototype = {
+    INT:      nsXmlRpcClient.prototype.INT,
+    BOOLEAN:  nsXmlRpcClient.prototype.BOOLEAN,
+    STRING:   nsXmlRpcClient.prototype.STRING,
+    DOUBLE:   nsXmlRpcClient.prototype.DOUBLE,
+    DATETIME: nsXmlRpcClient.prototype.DATETIME,
+    ARRAY:    nsXmlRpcClient.prototype.ARRAY,
+    STRUCT:   nsXmlRpcClient.prototype.STRUCT,
+    BASE64:   nsXmlRpcClient.prototype.BASE64,
+    
+    _createType: nsXmlRpcClient.prototype.createType,
+
+    name: null,
+    
+    _value: null,
+    get value() { return this._value; },
+    set value(val) {
+        // accepts [0-9]+ or x[0-9a-fA-F]+ and returns the character.
+        function entityTrans(substr, code) {
+            return String.fromCharCode("0" + code);
+        }
+        
+        switch (this.type) {
+            case this.STRING:
+                val = val.replace(/&#([0-9]+);/g, entityTrans);
+                val = val.replace(/&#(x[0-9a-fA-F]+);/g, entityTrans);
+                val = val.replace(/&lt;/g, '<');
+                val = val.replace(/&gt;/g, '>');
+                val = val.replace(/&amp;/g, '&');
+                this._value.data = val;
+                break;
+        
+            case this.BOOLEAN:
+                this._value.data = (val == 1);
+                break;
+
+            case this.DATETIME:
+                this._value.data = Date.UTC(val.slice(0, 4), 
+                    val.slice(4, 6) - 1, val.slice(6, 8), val.slice(9, 11),
+                    val.slice(12, 14), val.slice(15));
+                break;
+
+            case this.BASE64:
+                this._value.data = base64ToString(val);
+                break;
+
+            default:
+                this._value.data = val;
+        }
+    },
+
+    _type: null,
+    get type() { return this._type; },
+    set type(type) { 
+        this._type = type;
+        if (type == this.BASE64) 
+            this._value = this._createType(this.STRING, {});
+        else this._value = this._createType(type, {});
+    },
+
+    appendValue: function(val) {
+        switch (this.type) {
+            case this.ARRAY:
+                this.value.AppendElement(val);
+                break;
+
+            case this.STRUCT:
+                this.value.setValue(this.name, val);
+                break;
+        }
+    }
+};
+
+/*
+ * Objects
+ */
+
+/* nsXmlRpcClient Module (for XPCOM registration) */
+var nsXmlRpcClientModule = {
+    registerSelf: function(compMgr, fileSpec, location, type) {
+        compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
+
+        compMgr.registerFactoryLocation(XMLRPCCLIENT_CID, 
+                                        'XML-RPC Client JS component', 
+                                        XMLRPCCLIENT_CONTRACTID, 
+                                        fileSpec,
+                                        location, 
+                                        type);
+        compMgr.registerFactoryLocation(XMLRPCFAULT_CID, 
+                                        'XML-RPC Fault JS component', 
+                                        XMLRPCFAULT_CONTRACTID, 
+                                        fileSpec,
+                                        location, 
+                                        type);
+    },
+
+    getClassObject: function(compMgr, cid, iid) {
+        if (!cid.equals(XMLRPCCLIENT_CID) && !cid.equals(XMLRPCFAULT_CID))
+            throw Components.results.NS_ERROR_NO_INTERFACE;
+
+        if (!iid.equals(Components.interfaces.nsIFactory))
+            throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
+
+        if (cid.equals(XMLRPCCLIENT_CID))
+            return nsXmlRpcClientFactory
+        else return nsXmlRpcFaultFactory;
+    },
+
+    canUnload: function(compMgr) { return true; }
+};
+
+/* nsXmlRpcClient Class Factory */
+var nsXmlRpcClientFactory = {
+    createInstance: function(outer, iid) {
+        if (outer != null)
+            throw Components.results.NS_ERROR_NO_AGGREGATION;
+    
+        if (!iid.equals(XMLRPCCLIENT_IID) &&
+            !iid.equals(Components.interfaces.nsISupports))
+            throw Components.results.NS_ERROR_INVALID_ARG;
+
+        return new nsXmlRpcClient();
+    }
+}
+
+/* nsXmlRpcFault Class Factory */
+var nsXmlRpcFaultFactory = {
+    createInstance: function(outer, iid) {
+        if (outer != null)
+            throw Components.results.NS_ERROR_NO_AGGREGATION;
+
+        if (!iid.equals(XMLRPCFAULT_IID) &&
+            !iid.equals(Components.interfaces.nsISupports))
+            throw Components.results.NS_ERROR_INVALID_ARG;
+
+        return new nsXmlRpcFault();
+    }
+}
+
+/*
+ * Functions
+ */
+/* module initialisation */
+function NSGetModule(comMgr, fileSpec) { return nsXmlRpcClientModule; }
+
+/* Create an instance of the given ContractID, with given interface */
+function createInstance(contractId, intf) {
+    return Components.classes[contractId]
+        .createInstance(Components.interfaces[intf]);
+}
+
+/* Get a pointer to a service indicated by the ContractID, with given interface */
+function getService(contractId, intf) {
+    return Components.classes[contractId]
+        .getService(Components.interfaces[intf]);
+}
+
+/* Convert an inputstream to a scriptable inputstream */
+function toScriptableStream(input) {
+    var SIStream = Components.Constructor(
+        '@mozilla.org/scriptableinputstream;1',
+        'nsIScriptableInputStream', 'init');
+    return new SIStream(input);
+}
+
+/* format a Date object into a iso8601 datetime string, UTC time */
+function iso8601Format(date) {
+    var datetime = date.getUTCFullYear();
+    var month = String(date.getUTCMonth() + 1);
+    datetime += (month.length == 1 ?  '0' + month : month);
+    var day = date.getUTCDate();
+    datetime += (day < 10 ? '0' + day : day);
+
+    datetime += 'T';
+
+    var hour = date.getUTCHours();
+    datetime += (hour < 10 ? '0' + hour : hour) + ':';
+    var minutes = date.getUTCMinutes();
+    datetime += (minutes < 10 ? '0' + minutes : minutes) + ':';
+    var seconds = date.getUTCSeconds();
+    datetime += (seconds < 10 ? '0' + seconds : seconds);
+
+    return datetime;
+}
+
+/* Convert a stream to Base64, writing it away to a string writer */
+const BASE64CHUNK = 255; // Has to be dividable by 3!!
+function streamToBase64(stream, writer) {
+    while (stream.available()) {
+        var data = [];
+        while (data.length < BASE64CHUNK && stream.available()) {
+            var d = stream.read(1).charCodeAt(0);
+            // reading a 0 results in NaN, compensate.
+            data = data.concat(isNaN(d) ? 0 : d);
+        }
+        writer.write(toBase64(data));
+    }
+}
+
+/* Convert data (an array of integers) to a Base64 string. */
+const toBase64Table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' +
+    '0123456789+/';
+const base64Pad = '=';
+function toBase64(data) {
+    var result = '';
+    var length = data.length;
+    var i;
+    // Convert every three bytes to 4 ascii characters.
+    for (i = 0; i < (length - 2); i += 3) {
+        result += toBase64Table[data[i] >> 2];
+        result += toBase64Table[((data[i] & 0x03) << 4) + (data[i+1] >> 4)];
+        result += toBase64Table[((data[i+1] & 0x0f) << 2) + (data[i+2] >> 6)];
+        result += toBase64Table[data[i+2] & 0x3f];
+    }
+
+    // Convert the remaining 1 or 2 bytes, pad out to 4 characters.
+    if (length%3) {
+        i = length - (length%3);
+        result += toBase64Table[data[i] >> 2];
+        if ((length%3) == 2) {
+            result += toBase64Table[((data[i] & 0x03) << 4) + (data[i+1] >> 4)];
+            result += toBase64Table[(data[i+1] & 0x0f) << 2];
+            result += base64Pad;
+        } else {
+            result += toBase64Table[(data[i] & 0x03) << 4];
+            result += base64Pad + base64Pad;
+        }
+    }
+
+    return result;
+}
+
+/* Convert Base64 data to a string */
+const toBinaryTable = [
+    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1,
+    -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63,
+    52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1, 0,-1,-1,
+    -1, 0, 1, 2,  3, 4, 5, 6,  7, 8, 9,10, 11,12,13,14,
+    15,16,17,18, 19,20,21,22, 23,24,25,-1, -1,-1,-1,-1,
+    -1,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40,
+    41,42,43,44, 45,46,47,48, 49,50,51,-1, -1,-1,-1,-1
+];
+function base64ToString(data) {
+    var result = '';
+    var leftbits = 0; // number of bits decoded, but yet to be appended
+    var leftdata = 0; // bits decoded, but yet to be appended
+
+    // Convert one by one.
+    for (var i = 0; i < data.length; i++) {
+        var c = toBinaryTable[data.charCodeAt(i) & 0x7f];
+        var padding = (data[i] == base64Pad);
+        // Skip illegal characters and whitespace
+        if (c == -1) continue;
+        
+        // Collect data into leftdata, update bitcount
+        leftdata = (leftdata << 6) | c;
+        leftbits += 6;
+
+        // If we have 8 or more bits, append 8 bits to the result
+        if (leftbits >= 8) {
+            leftbits -= 8;
+            // Append if not padding.
+            if (!padding)
+                result += String.fromCharCode((leftdata >> leftbits) & 0xff);
+            leftdata &= (1 << leftbits) - 1;
+        }
+    }
+
+    // If there are any bits left, the base64 string was corrupted
+    if (leftbits)
+        throw Components.Exception('Corrupted base64 string');
+
+    return result;
+}
+
+if (DEBUG) debug = function(msg) { 
+    dump(' -- XML-RPC client -- : ' + msg + '\n'); 
+};
+else debug = function() {}
+
+// vim:sw=4:sr:sta:et:sts:
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/components/xml-rpc.xpt b/addons/plugin_thunderbird/static/thunderbird_plugin/components/xml-rpc.xpt
new file mode 100644 (file)
index 0000000..8e59aa2
Binary files /dev/null and b/addons/plugin_thunderbird/static/thunderbird_plugin/components/xml-rpc.xpt differ
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/defaults/preferences/tiny.js b/addons/plugin_thunderbird/static/thunderbird_plugin/defaults/preferences/tiny.js
new file mode 100644 (file)
index 0000000..9a21e9a
--- /dev/null
@@ -0,0 +1,63 @@
+ pref("network.protocol-handler.app.http","/usr/bin/firefox");
+pref("network.protocol-handler.app.https","/usr/bin/firefox");
+pref("extensions.tiny.serverurl", "http://localhost");
+pref("extensions.tiny.serverport", "8069");
+pref("extensions.tiny.webserverurl", "http://localhost:8080");
+pref("extensions.tiny.webserverport", "8080");
+pref("extensions.tiny.serverdbname", "terp");
+pref("extensions.tiny.username","admin");
+pref("extensions.tiny.password","admin");
+pref("extensions.tiny.senderemail","");
+pref("extensions.tiny.sendername","");
+pref("extensions.tiny.statutdoc","");// add to have a statut to hidde or not the button
+pref("extensions.tiny.message_label","");// add to message in push dialog
+pref("extensions.tiny.receiveremail","");
+pref("extensions.tiny.subject","");
+pref("extensions.tiny.receiveddate","");
+pref("extensions.tiny.partnerid","");
+pref("extensions.tiny.contactid","");
+pref("extensions.tiny.attachvalue","");
+pref("extensions.tiny.cclist","");
+pref("extensions.tiny.messagebody","");
+pref("extensions.tiny.displayName","");
+pref("extensions.tiny.attachmentdata","");
+pref("extensions.tiny.userid",3);
+pref("extensions.tiny.partnername","");
+pref("extensions.tiny.officeno","");
+pref("extensions.tiny.phoneno","");
+pref("extensions.tiny.address","");
+pref("extensions.tiny.listobject","Partner,Account Invoice,Product,Sale Order,Lead and opportunities");
+pref("extensions.tiny.object","res.partner,account.invoice,product.product,sale.order,crm.lead");
+pref("extensions.tiny.imagename","chrome://openerp_plugin/skin/Partner.png,chrome://openerp_plugin/skin/Invoice.png,chrome://openerp_plugin/skin/Product.png,chrome://openerp_plugin/skin/Sale.png,chrome://openerp_plugin/skin/Case.png");
+pref("extensions.tiny.attachmentlength","");
+pref("extensions.tiny.attachment","");
+pref("extensions.tiny.db_list","false");
+pref("extensions.tiny.connect_server","false");
+pref("extensions.tiny.module_install","yes");
+pref("extensions.tiny.serverprotocol", "false");
+
+
+
+pref("mboximport.export.filenames_toascii", false);
+pref("mboximport.export.overwrite", false);
+pref("mboximport.confirm.before_mbox_import", true);
+pref("mboximport.clipboard.always_just_text", false);
+pref("mboximport.export.HTML_as_displayed", false);
+pref("mboximport.exportEML.filename_format", 0);
+pref("mboximport.delay.clean_statusbar", 5000);
+pref("mboximport.subject.max_length", 50);
+pref("mboximport.author.max_length", 50);
+pref("mboximport.recipients.max_length", 50);
+pref("extensions.{3ed8cc52-86fc-4613-9026-c1ef969da4c3}.description", "chrome://mboximport/locale/mboximport.properties");
+pref("mboximport.export.set_filetime", false);
+pref("mboximport.exportEML.use_dir", false);
+pref("mboximport.exportMBOX.use_dir", false);
+pref("mboximport.exportMSG.use_dir", false);
+pref("mboximport.export.filenames_addtime", false);
+pref("mboximport.export_all.warning1", true);
+pref("mboximport.export_all.warning2", true);
+
+pref("mboximport.exportMSG.dir", "/tmp");
+//For debug in console
+pref("browser.dom.window.dump.enabled", true);
+
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/install.js b/addons/plugin_thunderbird/static/thunderbird_plugin/install.js
new file mode 100644 (file)
index 0000000..50e4b30
--- /dev/null
@@ -0,0 +1,105 @@
+// constants
+const APP_DISPLAY_NAME = "OpenERP Thunderbird Plugins";
+const APP_NAME = "OpenERP";
+const APP_VERSION = "1.0";
+const WARNING = "WARNING: You need administrator privileges to install OpenERP Thunderbird Plugin. It will be installed in the application directory for all users.";
+const VERSION_ERROR = "This extension can only be installed in a version higher than 2.0";
+const NOT_WRITABLE_ERROR = "This extension requires write access to the application directory to install properly."
+const locales = [
+       "en-US",
+       null
+];
+
+// Gecko 1.7 doesn't support custom button labels
+var incompatible = (typeof Install.BUTTON_POS_0 == "undefined");
+if (incompatible)
+       alert(VERSION_ERROR);
+
+if (!incompatible) {
+       // Check whether all directories can be accessed
+       var dirList = [
+               getFolder("Components"),
+               getFolder(getFolder("Program", "defaults"), "pref")
+       ];
+       for (var i = 0; i < dirList.length; i++)
+               if (!File.isWritable(dirList[i]))
+                       incompatible = true;
+
+       if (incompatible)
+               alert(NOT_WRITABLE_ERROR);
+}
+
+if (!incompatible && confirm(WARNING, APP_DISPLAY_NAME)) {
+       /* Pre-Install Cleanup (for prior versions) */
+
+       // List of files to be checked
+       var checkFiles = [
+               [getFolder("Components"), "nsXmlRpcClient.js"],            // Root component
+               [getFolder("Components"), "xml-rpc.xpt"],           // Component interface
+                       ];
+
+       // Remove any existing files
+       initInstall("pre-install", "/rename", "0.0");  // open dummy-install
+       for (var i = 0 ; i < checkFiles.length ; i++) {
+               var currentDir = checkFiles[i][0];
+               var name = checkFiles[i][1];
+               var oldFile = getFolder(currentDir, name);
+
+               // Find a name to rename the file into
+               var newName = name + "-uninstalled";
+               for (var n = 1; File.exists(oldFile) && File.exists(getFolder(currentDir, newName)); n++)
+                       newName = name + n + "-uninstalled";
+
+               if (File.exists(oldFile))
+                       File.rename(oldFile, newName);
+       }
+       performInstall(); // commit renamed files
+
+       /* Main part of the installation */
+
+       var chromeType = DELAYED_CHROME;
+
+       var files = [
+               ["components/nsXmlRpcClient.js", getFolder("Components")],
+               ["components/xml-rpc.xpt", getFolder("Components")],
+               ["defaults/preferences/tiny.js", getFolder(getFolder("Program", "defaults"), "pref")],
+       ];
+
+       // initialize our install
+       initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
+
+       // Add files
+       for (var i = 0; i < files.length; i++)
+               addFile(APP_NAME, APP_VERSION, files[i][0], files[i][1], null);
+
+       try {
+               var err = registerChrome(CONTENT | chromeType, jar, "content/");
+               if (err != SUCCESS)
+                       throw "Chrome registration for content failed (error code " + err + ").";
+
+               err = registerChrome(SKIN | chromeType, jar, "skin/classic/");
+               if (err != SUCCESS)
+                       throw "Chrome registration for skin failed (error code " + err + ").";
+
+               for (i = 0; i < locales.length; i++) {
+                       if (!locales[i])
+                               continue;
+
+                       err = registerChrome(LOCALE | chromeType, jar, "locale/" + locales[i] + "/");
+                       if (err != SUCCESS)
+                               throw "Chrome registration for " + locales[i] + " locale failed (error code " + err + ").";
+               }
+
+               var err = performInstall();
+               if (err != SUCCESS && err != 999)
+                       throw "Committing installation failed (error code " + err + ").";
+
+               alert("OpenERP Thunderbird Plugin " + APP_VERSION + " is now installed.\n" +
+                                       "It will become active after you restart your browser.");
+       }
+       catch (ex) {
+               alert("Installation failed: " + ex + "\n" +
+                                       "You probably don't have the necessary permissions (log in as system administrator).");
+               cancelInstall(err);
+       }
+}
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/install.rdf b/addons/plugin_thunderbird/static/thunderbird_plugin/install.rdf
new file mode 100644 (file)
index 0000000..e922f79
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>\r
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\r
+     xmlns:em="http://www.mozilla.org/2004/em-rdf#">\r
+  <Description about="urn:mozilla:install-manifest">\r
+    <em:id>thunderbird@openerp.com</em:id>\r
+    <em:iconURL>chrome://openerp_plugin/skin/tinyerp-icon.ico</em:iconURL>\r
+    <em:name>OpenERP Plugin</em:name>\r
+    <em:version>1.0</em:version>\r
+    <em:description>OpenERP Thunderbird Integration</em:description>\r
+    <em:creator>OpenERP SA</em:creator>\r
+    <!-- optional items -->\r
+    <em:homepageURL>http://openerp.com</em:homepageURL>\r
+    <!-- Thunderbird -->\r
+    <em:targetApplication>\r
+      <Description>\r
+        <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>\r
+        <em:minVersion>2.0</em:minVersion>\r
+        <em:maxVersion>9.*</em:maxVersion>\r
+      </Description>\r
+    </em:targetApplication>\r
+  </Description>\r
+</RDF>\r
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/install.sh b/addons/plugin_thunderbird/static/thunderbird_plugin/install.sh
new file mode 100755 (executable)
index 0000000..e1103b3
--- /dev/null
@@ -0,0 +1,3 @@
+make clean
+make 
+cp ../openerp_plugin.xpi /home/openerp/
diff --git a/addons/plugin_thunderbird/static/thunderbird_plugin/makefile b/addons/plugin_thunderbird/static/thunderbird_plugin/makefile
new file mode 100644 (file)
index 0000000..17ed031
--- /dev/null
@@ -0,0 +1,11 @@
+all: xpi
+
+jar:
+       jar cvf chrome/openerp_plugin.jar -C chrome/openerp_plugin/ .
+
+xpi: jar
+       zip -r ../openerp_plugin.xpi *
+
+clean:
+       rm ../openerp_plugin.xpi
+       rm chrome/openerp_plugin.jar
diff --git a/addons/plugin_thunderbird/thunderbird_installer.xml b/addons/plugin_thunderbird/thunderbird_installer.xml
deleted file mode 100644 (file)
index 0bd7f42..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<openerp>
-  <data>
-
-    <record id="view_thunderbird_installer" model="ir.ui.view">
-      <field name="name">thunderbird.installer.view</field>
-      <field name="model">thunderbird.installer</field>
-      <field name="type">form</field>
-      <field name="inherit_id" ref="base.res_config_installer"/>
-      <field name="arch" type="xml">
-          <data>
-              <form position="attributes">
-                  <attribute name="string">Install Thunderbird Plug-In</attribute>
-              </form>
-              <separator string="title" position="attributes">
-                   <attribute name="string">Install Thunderbird Plug-In</attribute>
-              </separator>
-              <xpath expr="//label[@string='description']" position="attributes">
-                  <attribute name="string">This plug-in allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one.</attribute>
-              </xpath>
-              <xpath expr="//button[@string='Install Modules']" position="replace">
-                <button colspan="1" icon="gtk-close" special="cancel" string="_Close"/>
-              </xpath>
-              <xpath expr="//button[@string='Cancel']" position="replace">
-              </xpath>
-              <xpath expr="//separator[@string=&quot;vsep&quot;]" position="attributes">
-                  <attribute name="string"/>
-                  <attribute name="rowspan">15</attribute>
-              </xpath>
-              <group colspan="8" position="replace">
-              <group colspan="8" height="450" width="750">
-                  <field name="thunderbird" invisible="1"/>
-                  <field name="name" invisible="1"/>
-                  <field name="pdf_name" invisible="1"/>
-                  <newline/>
-
-                  <field name="plugin_file" filename="name" widget="url"/>
-                  <newline/>
-                  <field name="pdf_file" filename="pdf_name" widget="url"/>
-                  <newline/>
-                  <separator string="Installation and Configuration Steps" colspan="4"/>
-                  <field name="description" nolabel="1" colspan="8"/>
-              </group>
-              </group>
-          </data>
-      </field>
-    </record>
-
-    <record id="action_thunderbird_installer" model="ir.actions.act_window">
-      <field name="name">Install Thunderbird Plug-In</field>
-      <field name="type">ir.actions.act_window</field>
-      <field name="res_model">thunderbird.installer</field>
-      <field name="view_id" ref="view_thunderbird_installer"/>
-      <field name="view_type">form</field>
-      <field name="view_mode">form</field>
-      <field name="target">new</field>
-    </record>
-
-    <record id="thunderbird_installer_todo" model="ir.actions.todo">
-        <field name="action_id" ref="action_thunderbird_installer"/>
-        <field name="category_id" ref="base.category_sales_management_config"/>
-        <field name="sequence">3</field>
-        <field name="type">automatic</field>
-    </record>
-
-
-    <record id="action_thunderbird_wizard" model="ir.actions.act_window">
-      <field name="name">Install Thunderbird Plug-In</field>
-      <field name="type">ir.actions.act_window</field>
-      <field name="res_model">thunderbird.installer</field>
-      <field name="view_id" ref="view_thunderbird_installer"/>
-      <field name="view_type">form</field>
-      <field name="view_mode">form</field>
-      <field name="target">new</field>
-      <field name="context">{'menu':True}</field>
-    </record>
-
-    <menuitem id="base.menu_base_config_plugins" name="Plugins" parent="base.menu_base_config" sequence="10"/>
-    <menuitem id="menu_base_config_plugins_thunderbird" action="action_thunderbird_wizard" parent="base.menu_base_config_plugins" sequence="10"/>
-
-  </data>
-</openerp>