restore showing phonenumber

This commit is contained in:
Julien Fastré 2022-03-02 13:48:48 +01:00
parent ed4cf67e79
commit 54ad7a4b8f
10 changed files with 37 additions and 40 deletions

View File

@ -11,6 +11,8 @@ declare(strict_types=1);
namespace Chill\MainBundle\Phonenumber;
use libphonenumber\PhoneNumber;
/**
* Helper to some task linked to phonenumber.
*
@ -20,9 +22,9 @@ namespace Chill\MainBundle\Phonenumber;
*/
interface PhoneNumberHelperInterface
{
public function denormalize(string $phoneNumber): string;
public function denormalize(PhoneNumber $phoneNumber): string;
public function format(string $phonenumber): string;
public function format(PhoneNumber $phonenumber): string;
/**
* Get type (mobile, landline, ...) for phone number.

View File

@ -45,6 +45,8 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface
private Client $twilioClient;
private PhonenumberUtil $phoneNumberUtil;
public function __construct(
CacheItemPoolInterface $cacheUserData,
ParameterBagInterface $parameterBag,
@ -67,17 +69,13 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface
]);
$this->isConfigured = true;
}
$this->phoneNumberUtil = PhoneNumberUtil::getInstance();
}
public function denormalize(string $phoneNumber): string
public function denormalize(PhoneNumber $phoneNumber): string
{
$phoneUtil = PhoneNumberUtil::getInstance();
return $phoneUtil
->format(
$phoneUtil->parse($phoneNumber),
PhoneNumberFormat::E164
);
return $this->format($phoneNumber);
}
/**
@ -85,15 +83,10 @@ final class PhonenumberHelper implements PhoneNumberHelperInterface
* @return string
* @throws NumberParseException
*/
public function format(string $phoneNumber): string
public function format(PhoneNumber $phoneNumber): string
{
$phoneUtil = PhoneNumberUtil::getInstance();
return $phoneUtil
->format(
$phoneUtil->parse($phoneNumber, $this->config['default_carrier_code']),
PhoneNumberFormat::NATIONAL
);
return $this->phoneNumberUtil
->formatOutOfCountryCallingNumber($phoneNumber, $this->config['default_carrier_code']);
}
/**

View File

@ -7,6 +7,8 @@ services:
Chill\MainBundle\Phonenumber\PhonenumberHelper: ~
Chill\MainBundle\Phonenumber\Templating: ~
Chill\MainBundle\Validation\Validator\ValidPhonenumber:
tags:
- { name: validator.constraint_validator }

View File

@ -148,14 +148,14 @@
{% endif %}
<li>
{% if person.mobilenumber %}
<i class="fa fa-li fa-mobile"></i><a href="{{ 'tel:' ~ person.mobilenumber|phone_number_format('E164') }}">
{{ person.mobilenumber|phone_number_format('NATIONAL') }}
<i class="fa fa-li fa-mobile"></i><a href="{{ 'tel:' ~ person.mobilenumber }}">
{{ person.mobilenumber|chill_format_phonenumber }}
</a>
{% else %}
<i class="fa fa-li fa-phone"></i>
{% if person.phonenumber %}
<a href="{{ 'tel:' ~ person.phonenumber|phone_number_format('E164') }}">
{{ person.phonenumber|phone_number_format('NATIONAL') }}
<a href="{{ 'tel:' ~ person.phonenumber }}">
{{ person.phonenumber|chill_format_phonenumber }}
</a>
{% else %}
<span class="chill-no-data-statement">{{ 'No data given'|trans }}</span>

View File

@ -25,15 +25,15 @@
{% if person.phonenumber %}
<span class="phonenumber d-block d-sm-inline-block">
<i class="fa fa-fw fa-phone"></i>
<a href="{{ 'tel:' ~ person.phonenumber|phone_number_format('E164') }}" class="phone mr-3" title="{{ 'Phonenumber'|trans }}">
{{ person.phonenumber|phone_number_format('NATIONAL') }}</a>
<a href="{{ 'tel:' ~ person.phonenumber }}" class="phone mr-3" title="{{ 'Phonenumber'|trans }}">
{{ person.phonenumber|chill_format_phonenumber }}</a>
</span>
{% endif %}
{% if person.mobilenumber %}
<span class="mobilenumber d-block d-sm-inline-block">
<i class="fa fa-fw fa-mobile"></i>
<a href="{{ 'tel:' ~ person.mobilenumber|phone_number_format('E164') }}" class="phone mr-3" title="{{ 'Mobilenumber'|trans }}">
{{ person.mobilenumber|phone_number_format('NATIONAL') }}</a>
<a href="{{ 'tel:' ~ person.mobilenumber }}" class="phone mr-3" title="{{ 'Mobilenumber'|trans }}">
{{ person.mobilenumber|chill_format_phonenumber }}</a>
</span>
{% endif %}
{% if person.email %}

View File

@ -62,12 +62,12 @@
<ul>
{% if person.phonenumber is not empty %}
<li>
<a href="tel:{{ person.phonenumber|phone_number_format('E164') }}"><img src="{{ asset('build/images/mobile-alt-solid.svg') }}">&nbsp;<pre>{{ person.phonenumber|phone_number_format('NATIONAL') }}</pre></a>
<a href="tel:{{ person.phonenumber }}"><img src="{{ asset('build/images/mobile-alt-solid.svg') }}">&nbsp;<pre>{{ person.phonenumber|chill_format_phonenumber }}</pre></a>
</li>
{% endif %}
{% if person.mobilenumber is not empty%}
<li>
<a href="tel:{{ person.mobilenumber|phone_number_format('E164') }}"><img src="{{ asset('build/images/phone-alt-solid.svg') }}">&nbsp;<pre>{{ person.mobilenumber|phone_number_format('NATIONAL') }}</pre></a>
<a href="tel:{{ person.mobilenumber }}"><img src="{{ asset('build/images/phone-alt-solid.svg') }}">&nbsp;<pre>{{ person.mobilenumber|chill_format_phonenumber }}</pre></a>
</li>
{% endif %}
</ul>

View File

@ -232,14 +232,14 @@ This view should receive those arguments:
{%- if chill_person.fields.phonenumber == 'visible' -%}
<dl>
<dt>{{ 'Phonenumber'|trans }}&nbsp;:</dt>
<dd>{% if person.phonenumber is not empty %}<a href="tel:{{ person.phonenumber|phone_number_format('E164') }}"><pre>{{ person.phonenumber|phone_number_format('NATIONAL') }}</pre></a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}{% endif %}</dd>
<dd>{% if person.phonenumber is not empty %}<a href="tel:{{ person.phonenumber|phone_number_format }}">{{ person.phonenumber|chill_format_phonenumber }}</a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}{% endif %}</dd>
</dl>
{% endif %}
{%- if chill_person.fields.mobilenumber == 'visible' -%}
<dl>
<dt>{{ 'Mobilenumber'|trans }}&nbsp;:</dt>
<dd>{% if person.mobilenumber is not empty %}<a href="tel:{{ person.mobilenumber|phone_number_format('E164') }}">{{ person.mobilenumber|phone_number_format('NATIONAL') }}</a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}{% endif %}</dd>
<dd>{% if person.mobilenumber is not empty %}<a href="tel:{{ person.mobilenumber|phone_number_format }}">{{ person.mobilenumber|chill_format_phonenumber }}</a>{% else %}<span class="chill-no-data-statement">{{ 'No data given'|trans }}{% endif %}</dd>
<p>{% if person.acceptSMS %}{{ 'Accept short text message'|trans }}{% endif %}</p>
</dl>
{% endif %}
@ -250,7 +250,7 @@ This view should receive those arguments:
<dt>{{ 'Others phone numbers'|trans }}&nbsp;:</dt>
{% for el in person.otherPhoneNumbers %}
{% if el.phonenumber is not empty %}
<dd>{% if el.description is not empty %}{{ el.description }}&nbsp;:&nbsp;{% endif %}<a href="tel:{{ el.phonenumber|phone_number_format('E164') }}">{{ el.phonenumber|phone_number_format('NATIONAL') }}</a></dd>
<dd>{% if el.description is not empty %}{{ el.description }}&nbsp;:&nbsp;{% endif %}<a href="tel:{{ el.phonenumber }}">{{ el.phonenumber|chill_format_phonenumber }}</a></dd>
{% endif %}
{% endfor %}
</ul>
@ -317,4 +317,4 @@ This view should receive those arguments:
{% endif %}
</div>
{% endblock %}
{% endblock %}

View File

@ -23,10 +23,10 @@ final class Version20220215135509 extends AbstractMigration implements Container
$countryCode = $util->getCountryCodeForRegion($defaultCarriercode);
return sprintf('%s=CASE WHEN
LEFT(%s, 1) = \'0\'
THEN
\'%s\' || replace(replace(substr(%s, 2), \'(0)\', \'\'), \' \', \'\')
return sprintf('%s=CASE
WHEN %s = \'\' THEN NULL
WHEN LEFT(%s, 1) = \'0\'
THEN \'%s\' || replace(replace(substr(%s, 2), \'(0)\', \'\'), \' \', \'\')
ELSE replace(replace(%s, \'(0)\', \'\'),\' \', \'\')
END', $field, $field, $countryCode, $field, $field);
}

View File

@ -111,7 +111,7 @@
</li>
<li><i class="fa fa-li fa-phone"></i>
{% if thirdparty.telephone %}
<a href="{{ 'tel:' ~ thirdparty.telephone|phone_number_format('E164') }}">{{ thirdparty.telephone|phone_number_format('NATIONAL') }}</a>
<a href="{{ 'tel:' ~ thirdparty.telephone }}">{{ thirdparty.telephone|chill_format_phonenumber }}</a>
{% else %}
<span class="chill-no-data-statement">{{ 'thirdparty.No_phonenumber'|trans }}</span>
{% endif %}
@ -136,7 +136,7 @@
</li>
<li><i class="fa fa-li fa-phone"></i>
{% if thirdparty.telephone %}
<a href="{{ 'tel:' ~ thirdparty.telephone|phone_number_format('E164') }}">{{ thirdparty.telephone|phone_number_format('NATIONAL') }}</a>
<a href="{{ 'tel:' ~ thirdparty.telephone }}">{{ thirdparty.telephone|chill_format_phonenumber }}</a>
{% else %}
<span class="chill-no-data-statement">{{ 'thirdparty.No_phonenumber'|trans }}</span>
{% endif %}

View File

@ -69,8 +69,8 @@
{% if thirdParty.telephone == null %}
<span class="chill-no-data-statement">{{ 'No phone given'|trans }}</span>
{% else %}
<a href="{{ 'tel:' ~ thirdParty.telephone|phone_number_format('E164') }}">
{{ thirdParty.telephone|phone_number_format('NATIONAL') }}
<a href="{{ 'tel:' ~ thirdParty.telephone }}">
{{ thirdParty.telephone|chill_print_or_message("thirdparty.No_phonenumber") }}
</a>
{% endif %}
</dd>