Feature "Open Calling Partner" replaced by "Open Caller", with a completely new beh
avior
As a consequence, the modules asterisk_click2dial_event and asterisk_click2dial_crm_claim have been dropped
New wizard "Number not found" (inspired by the old "Open Calling Partner" with many enhancements), which is called by base_phone_popup and Open Caller
Formatting of number for click2dial is now handled by the phonenumbers lib: as a consequence, 3 fields have been dropped from asterisk.server (national_prefix, international_prefix, country_prefix)
New option 'dial_button_invisible' in the phone widget
New sample script asterisk_click2dial/scripts/openerp_popup_timeout.sh
Update translations and some module descriptions
All the modules are now PEP8 compliant
# Lib for phone number reformating -> pip install phonenumbers
# Lib for phone number reformating -> pip install phonenumbers
importphonenumbers
importphonenumbers
# Lib py-asterisk from http://code.google.com/p/py-asterisk/
# Lib py-asterisk from http://code.google.com/p/py-asterisk/
# We need a version which has this commit : http://code.google.com/p/py-asterisk/source/detail?r=8d0e1c941cce727c702582f3c9fcd49beb4eeaa4
# so a version after Nov 20th, 2012
# -> pip install py-Asterisk
fromAsteriskimportManager
fromAsteriskimportManager
_logger=logging.getLogger(__name__)
_logger=logging.getLogger(__name__)
classasterisk_server(orm.Model):
classasterisk_server(orm.Model):
'''Asterisk server object, to store all the parameters of the Asterisk IPBXs'''
'''Asterisk server object, stores the parameters of the Asterisk IPBXs'''
_name="asterisk.server"
_name="asterisk.server"
_description="Asterisk Servers"
_description="Asterisk Servers"
_columns={
_columns={
'name':fields.char('Asterisk server name',size=50,required=True,help="Asterisk server name."),
'active':fields.boolean('Active',help="The active field allows you to hide the Asterisk server without deleting it."),
'ip_address':fields.char('Asterisk IP addr. or DNS',size=50,required=True,help="IP address or DNS name of the Asterisk server."),
'port':fields.integer('Port',required=True,help="TCP port on which the Asterisk Manager Interface listens. Defined in /etc/asterisk/manager.conf on Asterisk."),
'out_prefix':fields.char('Out prefix',size=4,help="Prefix to dial to place outgoing calls. If you don't use a prefix to place outgoing calls, leave empty."),
'national_prefix':fields.char('National prefix',size=4,help="Prefix for national phone calls (don't include the 'out prefix'). For e.g., in France, the phone numbers look like '01 41 98 12 42' : the National prefix is '0'."),
'international_prefix':fields.char('International prefix',required=True,size=4,help="Prefix to add to make international phone calls (don't include the 'out prefix'). For e.g., in France, the International prefix is '00'."),
'country_prefix':fields.char('My country prefix',required=True,size=4,help="Phone prefix of the country where the Asterisk server is located. For e.g. the phone prefix for France is '33'. If the phone number to dial starts with the 'My country prefix', OpenERP will remove the country prefix from the phone number and add the 'out prefix' followed by the 'national prefix'. If the phone number to dial doesn't start with the 'My country prefix', OpenERP will add the 'out prefix' followed by the 'international prefix'."),
'login':fields.char('AMI login',size=30,required=True,help="Login that OpenERP will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server."),
'password':fields.char('AMI password',size=30,required=True,help="Password that OpenERP will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server."),
'context':fields.char('Dialplan context',size=50,required=True,help="Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server."),
'wait_time':fields.integer('Wait time (sec)',required=True,help="Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up."),
'extension_priority':fields.integer('Extension priority',required=True,help="Priority of the extension in the Asterisk dialplan. Refer to /etc/asterisk/extensions.conf on your Asterisk server."),
'alert_info':fields.char('Alert-Info SIP header',size=255,help="Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example."),
'company_id':fields.many2one('res.company','Company',help="Company who uses the Asterisk server."),
'name':fields.char('Asterisk Server Name',size=50,required=True),
'active':fields.boolean(
'Active',help="The active field allows you to hide the Asterisk "
"server without deleting it."),
'ip_address':fields.char(
'Asterisk IP address or DNS',size=50,required=True,
help="IP address or DNS name of the Asterisk server."),
'port':fields.integer(
'Port',required=True,
help="TCP port on which the Asterisk Manager Interface listens. "
"Defined in /etc/asterisk/manager.conf on Asterisk."),
'out_prefix':fields.char(
'Out Prefix',size=4,help="Prefix to dial to make outgoing "
"calls. If you don't use a prefix to make outgoing calls, "
"leave empty."),
'login':fields.char(
'AMI Login',size=30,required=True,
help="Login that OpenERP will use to communicate with the "
"Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf "
"on your Asterisk server."),
'password':fields.char(
'AMI Password',size=30,required=True,
help="Password that OpenERP will use to communicate with the "
"Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf "
"on your Asterisk server."),
'context':fields.char(
'Dialplan Context',size=50,required=True,
help="Asterisk dialplan context from which the calls will be "
"made. Refer to /etc/asterisk/extensions.conf on your Asterisk "
"server."),
'wait_time':fields.integer(
'Wait Time (sec)',required=True,
help="Amount of time (in seconds) Asterisk will try to reach "
"the user's phone before hanging up."),
'extension_priority':fields.integer(
'Extension Priority',required=True,
help="Priority of the extension in the Asterisk dialplan. Refer "
"to /etc/asterisk/extensions.conf on your Asterisk server."),
'alert_info':fields.char(
'Alert-Info SIP Header',size=255,
help="Set Alert-Info header in SIP request to user's IP Phone "
"for the click2dial feature. If empty, the Alert-Info header "
"will not be added. You can use it to have a special ring tone "
"for click2dial (a silent one !) or to activate auto-answer "
(_check_validity,"Error message in raise",['out_prefix','country_prefix','national_prefix','international_prefix','wait_time','extension_priority','port','context','alert_info','login','password']),
@ -114,76 +153,26 @@ class asterisk_server(orm.Model):
foryourcompanyifyouarenothappywiththewayIreformat
foryourcompanyifyouarenothappywiththewayIreformat
theOpenERPnumbers.
theOpenERPnumbers.
'''
'''
error_title_msg=_("Invalid phone number")
invalid_international_format_msg=_("The phone number is not written in valid international format. Example of valid international format : +33 1 41 98 12 42")
invalid_national_format_msg=_("The phone number is not written in valid national format.")
invalid_format_msg=_("The phone number is not written in valid format.")
# Let's call the variable tmp_number now
tmp_number=erp_number
_logger.debug('Number before reformat = %s'%tmp_number)
help="Call Detail Record (CDR) account used for billing this "
"user."),
'asterisk_chan_type':fields.selection([
'asterisk_chan_type':fields.selection([
('SIP','SIP'),
('SIP','SIP'),
('IAX2','IAX2'),
('IAX2','IAX2'),
@ -322,14 +362,34 @@ class res_users(orm.Model):
('H323','H323'),
('H323','H323'),
('SCCP','SCCP'),
('SCCP','SCCP'),
('Local','Local'),
('Local','Local'),
],'Asterisk channel type',
help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."),
'resource':fields.char('Resource name',size=64,
help="Resource name for the channel type selected. For example, if you use 'Dial(SIP/phone1)' in your Asterisk dialplan to ring the SIP phone of this user, then the resource name for this user is 'phone1'. For a SIP phone, the phone number is often used as resource name, but not always."),
'alert_info':fields.char('User-specific Alert-Info SIP header',size=255,help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example."),
'variable':fields.char('User-specific Variable',size=255,help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'."),
help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."),
],'Asterisk Channel Type',
help="Asterisk channel type, as used in the Asterisk dialplan. "
"If the user has a regular IP phone, the channel type is 'SIP'."),
'resource':fields.char(
'Resource Name',size=64,
help="Resource name for the channel type selected. For example, "
"if you use 'Dial(SIP/phone1)' in your Asterisk dialplan to ring "
"the SIP phone of this user, then the resource name for this user "
"is 'phone1'. For a SIP phone, the phone number is often used as "
"resource name, but not always."),
'alert_info':fields.char(
'User-specific Alert-Info SIP Header',size=255,
help="Set a user-specific Alert-Info header in SIP request to "
"user's IP Phone for the click2dial feature. If empty, the "
"Alert-Info header will not be added. You can use it to have a "
"special ring tone for click2dial (a silent one !) or to "
"activate auto-answer for example."),
'variable':fields.char(
'User-specific Variable',size=255,
help="Set a user-specific 'Variable' field in the Asterisk "
"Manager Interface 'originate' request for the click2dial "
"feature. If you want to have several variable headers, separate "
"them with '|'."),
'asterisk_server_id':fields.many2one(
'asterisk.server','Asterisk Server',
help="Asterisk server on which the user's phone is connected. "
"If you leave this field empty, it will use the first Asterisk "
msgid "Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
msgid "Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
@ -84,23 +94,15 @@ msgid "Asterisk dialplan context from which the calls will be made. Refer to /et
msgstr ""
msgstr ""
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: field:res.users,asterisk_server_id:0
msgid "Asterisk server"
msgstr ""
#. module: asterisk_click2dial
#: field:asterisk.server,name:0
msgid "Asterisk server name"
msgstr ""
#. module: asterisk_click2dial
#: help:asterisk.server,name:0
msgid "Asterisk server name."
#: help:res.users,asterisk_server_id:0
msgid "Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."
msgstr ""
msgstr ""
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: help:res.users,asterisk_server_id:0
msgid "Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."
msgid "Could not get the calling number from Asterisk. Is your phone ringing or are you currently on the phone ? If yes, check your setup and look at the OpenERP debug logs."
msgid "Phone number of calling party that has been obtained from Asterisk."
msgstr ""
#. module: asterisk_click2dial
#: help:asterisk.server,country_prefix:0
msgid "Phone prefix of the country where the Asterisk server is located. For e.g. the phone prefix for France is '33'. If the phone number to dial starts with the 'My country prefix', OpenERP will remove the country prefix from the phone number and add the 'out prefix' followed by the 'national prefix'. If the phone number to dial doesn't start with the 'My country prefix', OpenERP will add the 'out prefix' followed by the 'international prefix'."
#: help:number.not.found,calling_number:0
msgid "Phone number of calling party that has been obtained from Asterisk, in the format used by Asterisk (not E.164)."
msgstr ""
msgstr ""
#. module: asterisk_click2dial
#. module: asterisk_click2dial
@ -462,19 +381,9 @@ msgstr ""
msgid "Port"
msgid "Port"
msgstr ""
msgstr ""
#. module: asterisk_click2dial
#: help:asterisk.server,national_prefix:0
msgid "Prefix for national phone calls (don't include the 'out prefix'). For e.g., in France, the phone numbers look like '01 41 98 12 42' : the National prefix is '0'."
msgstr ""
#. module: asterisk_click2dial
#: help:asterisk.server,international_prefix:0
msgid "Prefix to add to make international phone calls (don't include the 'out prefix'). For e.g., in France, the International prefix is '00'."
msgstr ""
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: help:asterisk.server,out_prefix:0
#: help:asterisk.server,out_prefix:0
msgid "Prefix to dial to place outgoing calls. If you don't use a prefix to place outgoing calls, leave empty."
msgid "Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty."
msgstr ""
msgstr ""
#. module: asterisk_click2dial
#. module: asterisk_click2dial
@ -483,14 +392,16 @@ msgid "Priority of the extension in the Asterisk dialplan. Refer to /etc/asteris
"Last-Translator: Alexis de Lattre <alexis.delattre@akretion.com>\n"
"Last-Translator: Alexis de Lattre <alexis.delattre@akretion.com>\n"
"Language-Team: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"MIME-Version: 1.0\n"
@ -17,12 +17,12 @@ msgstr ""
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: field:asterisk.server,login:0
#: field:asterisk.server,login:0
msgid "AMI login"
msgid "AMI Login"
msgstr "Nom d'utilisateur AMI"
msgstr "Nom d'utilisateur AMI"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: field:asterisk.server,password:0
#: field:asterisk.server,password:0
msgid "AMI password"
msgid "AMI Password"
msgstr "Mot de passe AMI"
msgstr "Mot de passe AMI"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
@ -32,8 +32,8 @@ msgstr "Actif"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: field:asterisk.server,alert_info:0
#: field:asterisk.server,alert_info:0
msgid "Alert-Info SIP header"
msgstr "En-tête SIP Alert-Info SIP"
msgid "Alert-Info SIP Header"
msgstr "En-tête SIP Alert-Info"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: help:asterisk.server,wait_time:0
#: help:asterisk.server,wait_time:0
@ -45,16 +45,31 @@ msgstr "Temps (en secondes) pendant lequel Asterisk essayera de joindre le tél
msgid "Asterisk CallerID"
msgid "Asterisk CallerID"
msgstr "Asterisk CallerID"
msgstr "Asterisk CallerID"
#. module: asterisk_click2dial
#: field:res.users,asterisk_chan_type:0
msgid "Asterisk Channel Type"
msgstr "Type de canal Asterisk"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: field:asterisk.server,ip_address:0
#: field:asterisk.server,ip_address:0
msgid "Asterisk IP addr. or DNS"
msgstr "Adr. IP ou DNS d'Asterisk"
msgid "Asterisk IP address or DNS"
msgstr "Adresse IP ou DNS d'Asterisk"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: view:asterisk.server:0
#: view:asterisk.server:0
msgid "Asterisk Manager Interface"
msgid "Asterisk Manager Interface"
msgstr "Asterisk Manager Interface"
msgstr "Asterisk Manager Interface"
#. module: asterisk_click2dial
#: field:res.users,asterisk_server_id:0
msgid "Asterisk Server"
msgstr "Serveur Asterisk"
#. module: asterisk_click2dial
#: field:asterisk.server,name:0
msgid "Asterisk Server Name"
msgstr "Nom du serveur Asterisk"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: view:asterisk.server:0
#: view:asterisk.server:0
msgid "Asterisk Server Search"
msgid "Asterisk Server Search"
@ -68,11 +83,6 @@ msgstr "Recherche de serveur Asterisk"
msgid "Asterisk Servers"
msgid "Asterisk Servers"
msgstr "Serveurs Asterisk"
msgstr "Serveurs Asterisk"
#. module: asterisk_click2dial
#: field:res.users,asterisk_chan_type:0
msgid "Asterisk channel type"
msgstr "Type de canal Asterisk"
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: help:res.users,asterisk_chan_type:0
#: help:res.users,asterisk_chan_type:0
msgid "Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
msgid "Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
@ -83,26 +93,18 @@ msgstr "Type de canal Asterisk, tel qu'utilisé dans le dialplan d'Asterisk. Si
msgid "Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server."
msgid "Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server."
msgstr "Contexte du dialplan d'Asterisk depuis lequel les appels seront initiés. Cf /etc/asterisk/extensions.conf sur le serveur Asterisk."
msgstr "Contexte du dialplan d'Asterisk depuis lequel les appels seront initiés. Cf /etc/asterisk/extensions.conf sur le serveur Asterisk."
#. module: asterisk_click2dial
#: field:res.users,asterisk_server_id:0
msgid "Asterisk server"
msgstr "Serveur Asterisk"
#. module: asterisk_click2dial
#: field:asterisk.server,name:0
msgid "Asterisk server name"
msgstr "Nom du serveur Asterisk"
#. module: asterisk_click2dial
#: help:asterisk.server,name:0
msgid "Asterisk server name."
msgstr "Nom du serveur Asterisk."
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: help:res.users,asterisk_server_id:0
#: help:res.users,asterisk_server_id:0
msgid "Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."
msgid "Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."
msgstr "Serveur Asterisk sur lequel le téléphone de l'utilisateur est connecté. Si vous laissez ce champ vide, le premier serveur Asterisk de la société de l'utilisateur sera utilisé."
msgstr "Serveur Asterisk sur lequel le téléphone de l'utilisateur est connecté. Si vous laissez ce champ vide, le premier serveur Asterisk de la société de l'utilisateur sera utilisé."
msgid "Could not get the calling number from Asterisk. Is your phone ringing or are you currently on the phone ? If yes, check your setup and look at the OpenERP debug logs."
msgstr "OpenERP n'a pas pu obtenir le numéro de l'appelant auprès d'Asterisk. Votre téléphone est-il bien entrain de sonner ou êtes-vous bien au téléphone actuellement ? Si oui, vérifiez les paramètres de configuration et consultez les logs de debug d'OpenERP."
@ -450,34 +374,19 @@ msgid "Password that OpenERP will use to communicate with the Asterisk Manager I
msgstr "Mot de passe qui sera utilisé par OpenERP pour communiquer avec l'Asterisk Manager Interface. Ce mot de passe est configuré dans le fichier /etc/asterisk/manager.conf sur votre serveur Asterisk."
msgstr "Mot de passe qui sera utilisé par OpenERP pour communiquer avec l'Asterisk Manager Interface. Ce mot de passe est configuré dans le fichier /etc/asterisk/manager.conf sur votre serveur Asterisk."
msgid "Phone number of calling party that has been obtained from Asterisk."
msgstr "Numéro de téléphone de l'appelant obtenu auprès d'Asterisk."
#. module: asterisk_click2dial
#: help:asterisk.server,country_prefix:0
msgid "Phone prefix of the country where the Asterisk server is located. For e.g. the phone prefix for France is '33'. If the phone number to dial starts with the 'My country prefix', OpenERP will remove the country prefix from the phone number and add the 'out prefix' followed by the 'national prefix'. If the phone number to dial doesn't start with the 'My country prefix', OpenERP will add the 'out prefix' followed by the 'international prefix'."
msgstr "Préfixe téléphonique du pays dans lequel est situé le serveur Asterisk. Par exemple, le préfixe téléphonique de la France est '33'. Si le numéro de téléphone à appeler commence par le préfixe du pays, OpenERP supprimera ce préfixe du numéro de téléphone à composer et ajoutera le préfixe pour l'extérieur suivi par le préfixe national. Si le numéro de téléphone à appeler ne commence pas par le préfixe du pays, OpenERP ajoutera le préfixe pour l'extérieur suivi par le préfixe international."
#: help:number.not.found,calling_number:0
msgid "Phone number of calling party that has been obtained from Asterisk, in the format used by Asterisk (not E.164)."
msgstr "Phone number of calling party that has been obtained from Asterisk, in the format used by Asterisk (not E.164)."
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: field:asterisk.server,port:0
#: field:asterisk.server,port:0
msgid "Port"
msgid "Port"
msgstr "Port"
msgstr "Port"
#. module: asterisk_click2dial
#: help:asterisk.server,national_prefix:0
msgid "Prefix for national phone calls (don't include the 'out prefix'). For e.g., in France, the phone numbers look like '01 41 98 12 42' : the National prefix is '0'."
msgstr "Préfixe pour les appels nationaux (ne pas inclure le préfixe pour l'extérieur). Par exemple, en France, les numéros de téléphone sont du type '01 41 98 12 42' ; le préfixe national est '0'."
#. module: asterisk_click2dial
#: help:asterisk.server,international_prefix:0
msgid "Prefix to add to make international phone calls (don't include the 'out prefix'). For e.g., in France, the International prefix is '00'."
msgstr "Préfixe à ajouter pour passer des appels vers l'étranger (ne pas inclure le préfixe pour l'extérieur). Par exemple, en France, le préfixe pour l'international est '00'."
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: help:asterisk.server,out_prefix:0
#: help:asterisk.server,out_prefix:0
msgid "Prefix to dial to place outgoing calls. If you don't use a prefix to place outgoing calls, leave empty."
msgstr "Préfixe à composer pour appeler vers l'extérieur. Si vous n'avez pas à composer un préfixe pour appeler vers l'extérieur, laissez vide."
msgid "Prefix to dial to make outgoing calls. If you don't use a prefix to make outgoing calls, leave empty."
msgstr "Préfixe à composer pour les appels vers l'extérieur. Si vous n'utilisez pas de préfixe pour les appels vers l'extérieur, laissez vide."
#. module: asterisk_click2dial
#. module: asterisk_click2dial
#: help:asterisk.server,extension_priority:0
#: help:asterisk.server,extension_priority:0
@ -485,14 +394,16 @@ msgid "Priority of the extension in the Asterisk dialplan. Refer to /etc/asteris
msgstr "Priorité de l'extension dans le dialplan d'Asterisk. Cf /etc/asterisk/extensions.conf sur le serveur Asterisk."
msgstr "Priorité de l'extension dans le dialplan d'Asterisk. Cf /etc/asterisk/extensions.conf sur le serveur Asterisk."
msgid "The phone number is not written in valid international format. Example of valid international format : +33 1 41 98 12 42"
msgstr "Le numéro de téléphone n'est pas dans un format international valide. Exemple de numéro de téléphone dans un format international valide : +33 1 41 98 12 42"
@ -108,20 +108,66 @@ not_found_name = "Not in OpenERP"
# Define command line options
# Define command line options
options=[
options=[
{'names':('-s','--server'),'dest':'server','type':'string','help':'DNS or IP address of the OpenERP server. Default = none (will not try to connect to OpenERP)','action':'store','default':False},
{'names':('-p','--port'),'dest':'port','type':'int','help':"Port of OpenERP's XML-RPC interface. Default = 8069",'action':'store','default':8069},
{'names':('-e','--ssl'),'dest':'ssl','help':"Use XML-RPC secure i.e. with SSL instead of clear XML-RPC. Default = no, use clear XML-RPC",'action':'store_true','default':False},
{'names':('-u','--user-id'),'dest':'user','type':'int','help':"OpenERP user ID to use when connecting to OpenERP. Default = 2",'action':'store','default':2},
{'names':('-w','--password'),'dest':'password','type':'string','help':"Password of the OpenERP user. Default = 'demo'",'action':'store','default':'demo'},
{'names':('-a','--ascii'),'dest':'ascii','help':"Convert name from UTF-8 to ASCII. Default = no, keep UTF-8",'action':'store_true','default':False},
{'names':('-n','--notify'),'dest':'notify','help':"Notify OpenERP users via a pop-up (requires the OpenERP module 'base_phone_popup'). If you use this option, you must pass the logins of the OpenERP users to notify as argument to the script. Default = no",'action':'store_true','default':False},
{'names':('-g','--geoloc'),'dest':'geoloc','help':"Try to geolocate phone numbers unknown to OpenERP. This features requires the 'phonenumbers' Python lib. To install it, run 'sudo pip install phonenumbers' Default = no",'action':'store_true','default':False},
{'names':('-l','--geoloc-lang'),'dest':'lang','help':"Language in which the name of the country and city name will be displayed by the geolocalisation database. Use the 2 letters ISO code of the language. Default = 'en'",'action':'store','default':"en"},
{'names':('-c','--geoloc-country'),'dest':'country','help':"2 letters ISO code for your country e.g. 'FR' for France. This will be used by the geolocalisation system to parse the phone number of the calling party. Default = 'FR'",'action':'store','default':"FR"},
{'names':('-o','--outgoing'),'dest':'outgoing','help':"Update the Connected Line ID name on outgoing calls via a call to the Asterisk function CONNECTEDLINE(), instead of updating the Caller ID name on incoming calls. Default = no.",'action':'store_true','default':False},
{'names':('-i','--outgoing-agi-variable'),'dest':'outgoing_agi_var','help':"Enter the name of the AGI variable (without the 'agi_' prefix) from which the script will get the phone number dialed by the user on outgoing calls. For example, with Xivo, you should specify 'dnid' as the AGI variable. Default = 'extension'",'action':'store','default':"extension"},
{'names':('-m','--max-size'),'dest':'max_size','type':'int','help':"If the name has more characters this maximum size, cut it to this maximum size. Default = 40",'action':'store','default':40},
_logger.debug("Could not get the calling number from Asterisk.")
raiseorm.except_orm(
_('Error :'),
_("Could not get the calling number from Asterisk. Is your phone ringing or are you currently on the phone ? If yes, check your setup and look at the OpenERP debug logs."))
raiseorm.except_orm(_('Error :'),_("The object '%s' is not found in your OpenERP database, probably because the related module is not installed."%oerp_object._description))
<fieldname="parent_partner_id"attrs="{'invisible':[('partner_id','=',False)]}"/><!-- I want it visible when partner_id != False and partner_id = False, so that the user can see that this partner doesn't have a parent partner -->
msgid "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field."
msgid "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field."
msgid "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field."
msgid "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field."
msgstr "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field."
msgstr "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field."
#. module: base_phone
#: selection:number.not.found,number_type:0
msgid "Mobile"
msgstr "Portable"
#. module: base_phone
#: view:number.not.found:0
msgid "Number Not Found"
msgstr "Numéro introuvable"
#. module: base_phone
#: view:number.not.found:0
msgid "Number converted to international format:"
msgstr "Numéro converti au format international :"