Author: |
Datadialog |
License: |
no license |
Branch: |
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/hosted-git-info-2.8.9 |
Repository: |
OpenAT/online |
Dependencies: |
contacts |
Other branches: |
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/cached-path-relative-1.1.0,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/decode-uri-component-0.2.2,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/lodash-4.17.21,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/node-sass-7.0.0,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/path-parse-1.0.7,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/qs-6.5.3,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/shell-quote-1.7.3,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/tar-2.2.2,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/ua-parser-js-0.7.24,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/ua-parser-js-0.7.33,
dependabot/npm_and_yarn/addons-own/fso_base_website/static/lib/outdated-browser-rework-master/undefsafe-2.0.5,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/aws-sdk-2.1030.0,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/cached-path-relative-1.1.0,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/css-what-2.1.3,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/hosted-git-info-2.8.9,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/i-0.3.7,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/node-sass-4.14.1,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/shell-quote-1.7.3,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/tar-2.2.2,
dependabot/npm_and_yarn/addons-own/fso_website_email/static/src/lib/textversionjs-master/xmldom-0.5.0,
dependabot/pip/TOOLS/babel-2.9.1,
dependabot/pip/TOOLS/lxml-4.6.5,
dependabot/pip/TOOLS/lxml-4.9.1,
dependabot/pip/TOOLS/mako-1.2.2,
dependabot/pip/TOOLS/pillow-8.3.2,
dependabot/pip/TOOLS/pillow-9.0.1,
dependabot/pip/TOOLS/pillow-9.3.0,
dependabot/pip/TOOLS/python-ldap-3.4.0,
dependabot/pip/TOOLS/reportlab-3.5.55,
dependabot/pip/TOOLS/requests-2.20.0,
dependabot/pip/TOOLS/werkzeug-2.2.3,
dependabot/pip/addons-own/fso_rest_api/sphinx_doc/babel-2.9.1,
dependabot/pip/addons-own/fso_rest_api/sphinx_doc/certifi-2022.12.7,
dependabot/pip/addons-own/fso_rest_api/sphinx_doc/urllib3-1.26.5,
dependabot/pip/babel-2.9.1,
dependabot/pip/certifi-2022.12.7,
dependabot/pip/lxml-4.6.5,
dependabot/pip/lxml-4.9.1,
dependabot/pip/mako-1.2.2,
dependabot/pip/pillow-8.3.2,
dependabot/pip/pillow-9.0.1,
dependabot/pip/pillow-9.3.0,
dependabot/pip/reportlab-3.5.55,
dependabot/pip/urllib3-1.26.5,
dependabot/pip/werkzeug-2.2.3,
fso-api-payments,
google_tag_manager,
o8,
o8r436-patch,
product-gui-update,
and
worflow_per_subscription |
<h1>base<em>phone</em>search</h1>
<p>Provides the method search<em>phone</em>fuzzy() for res.partner.</p>
<pre><code>This method will search the 'phone' and 'mobile' fields of res.partner for the given phone number.
It will by default ignore all non digit characters and will search from right to left.
e.g.: '+43 (0)660 1234 - 567 ' will be converted to '7654321066034'
When we search for a phone number by self.env['res.partner'].search_phone_fuzzy('(0)660 12 34 567') we search for
1.) Search for partner where 'phone' or 'mobile' ends with '234567'
2.) Use the phonenumbers Python Library to further narrow down the results
3.) Return an record set with the found partner
</code></pre>
<h2>Database search optimization</h2>
<pre><code># SELECT reverse(regexp_replace(regexp_replace('0043 (0) 3160 123-45-67 ', '[^0-9]', '', 'g'), '00*', ''))
# CREATE OR REPLACE FUNCTION phone_clean_reverse(text) RETURNS text AS $$
# SELECT concat(left(reverse(regexp_replace(regexp_replace($1, '[^0-9]', '', 'g'), '^000*', '')), 6));
# $$ LANGUAGE 'sql' IMMUTABLE STRICT;
#
# DROP INDEX idx_phone_reverse;
# CREATE INDEX idx_phone_reverse ON res_partner(phone_clean_reverse(phone));
#
# DROP INDEX idx_mobile_reverse;
# CREATE INDEX idx_mobile_reverse ON res_partner(phone_clean_reverse(mobile));
#
# select "id", firstname, lastname, phone
# from res_partner
# where phone_clean_reverse(phone) = phone_clean_reverse('+43 (0) 7478-327');
#
# select "id", firstname, lastname, mobile
# from res_partner
# where phone_clean_reverse(mobile) = phone_clean_reverse('+43 (0) 7478-327');
#
# select "id", firstname, lastname, phone, mobile
# from res_partner
# where phone_clean_reverse(mobile) = phone_clean_reverse('+43 (0) 7478-327')
# or phone_clean_reverse(phone) = phone_clean_reverse('+43 (0) 7478-327');
</code></pre>