fix a few error, undefined vars, update phpstan, fix adapter data preset on edit phone

This commit is contained in:
osaajani 2023-02-06 04:35:08 +01:00
parent 715afd79ec
commit 47b81c1af3
9 changed files with 34 additions and 64 deletions

View File

@ -73,21 +73,6 @@ namespace controllers\internals;
return $this->get_model()->insert($event);
}
/**
* Gets events for a type, since a date and eventually until a date (both included).
*
* @param int $id_user : User id
* @param string $type : Event type we want
* @param \DateTime $since : Date to get events since
* @param ?\DateTime $until (optional) : Date until wich we want events, if not specified no limit
*
* @return array
*/
public function get_events_by_type_and_date_for_user(int $id_user, string $type, \DateTime $since, ?\DateTime $until = null)
{
$this->get_model()->get_events_by_type_and_date_for_user($id_user, $type, $since, $until);
}
/**
* Get the model for the Controller.
*/

View File

@ -44,11 +44,6 @@ class ExpressionProvider implements ExpressionFunctionProviderInterface
return sprintf('isset(%1$s) && is_a(%1$s, \'DateTime\') && %1$s->format(\'m-d\') == (new \\DateTime())->format(\'m-d\')', $birthdate);
}, function ($arguments, DateTime $birthdate)
{
if (!($birthdate ?? false))
{
return false;
}
return $birthdate->format('m-d') == (new DateTime())->format('m-d');
});

View File

@ -479,6 +479,8 @@ use Monolog\Logger;
$mms_phones = $internal_phone->gets_phone_supporting_mms_for_user($id_user, $internal_phone::MMS_SENDING);
foreach ($mms_phones as &$mms_phone)
{
$limits = $internal_phone->get_limits($mms_phone['id']);
$remaining_volume = PHP_INT_MAX;
foreach ($limits as $limit)
{

View File

@ -137,10 +137,10 @@ class Webhook extends StandardController
$error_code = null;
$queue = msg_get_queue(QUEUE_ID_WEBHOOK);
$success = msg_send($queue, QUEUE_TYPE_WEBHOOK, $message, true, true, $error_code);
return (bool) $success;
msg_send($queue, QUEUE_TYPE_WEBHOOK, $message, true, true, $error_code);
}
return true;
}
/**

View File

@ -372,6 +372,7 @@ namespace controllers\publics;
else
{
$invalid_type = true;
$result = false;
}
}

View File

@ -315,25 +315,14 @@ class Phone extends \descartes\Controller
return $this->redirect(\descartes\Router::url('Phone', 'list'));
}
$adapters = $this->internal_adapter->list_adapters();
foreach ($phones as &$phone)
{
$limits = $this->internal_phone->get_limits($phone['id']);
$phone['limits'] = $limits;
}
$phone_data = json_decode($phone['adapter_data'], true);
$adapters = $this->internal_adapter->list_adapters();
foreach ($adapters as &$adapter)
{
foreach ($adapter['meta_data_fields'] as &$data_field)
{
if (key_exists($data_field['name'], $phone_data))
{
$data_field['value'] = $phone_data[$data_field['name']];
}
}
}
$this->render('phone/edit', [
'phones' => $phones,
'adapters' => $adapters,

View File

@ -84,32 +84,6 @@ namespace models;
return $this->_select('event', ['id_user' => $id_user], 'at', true, $nb_entry);
}
/**
* Gets events for a type, since a date and eventually until a date (both included).
*
* @param int $id_user : User id
* @param string $type : Event type we want
* @param \DateTime $since : Date to get events since
* @param ?\DateTime $until (optional) : Date until wich we want events, if not specified no limit
*
* @return array
*/
public function get_events_by_type_and_date_for_user(int $id_user, string $type, \DateTime $since, ?\DateTime $until = null)
{
$where = [
'id_user' => $id_user,
'type' => $type,
'>=at' => $since->format('Y-m-d H:i:s'),
];
if (null !== $until)
{
$where['<=at'] = $until->format('Y-m-d H:i:s');
}
return $this->_select('event', $where, 'at');
}
/**
* Return table name.
*/

View File

@ -70,7 +70,10 @@
value="<?= $adapter['meta_classname'] ?>"
data-description="<?php $this->s($adapter['meta_description']); ?>"
data-data-fields="<?php $this->s(json_encode($adapter['meta_data_fields'])); ?>"
<?= ($phone['adapter'] ?? '') == $adapter['meta_classname'] ? 'selected' : '' ?>
<?php if ($phone['adapter'] == $adapter['meta_classname']) { ?>
data-phone-adapter-data="<?php $this->s($phone['adapter_data']); ?>"
selected
<?php } ?>
>
<?php $this->s($adapter['meta_name']); ?>
</option>
@ -153,12 +156,33 @@
var data_fields = option.attr('data-data-fields');
data_fields = JSON.parse(data_fields);
if (option.attr('data-phone-adapter-data'))
{
var phone_adapter_data = option.attr('data-phone-adapter-data');
phone_adapter_data = JSON.parse(phone_adapter_data);
}
var numbers = [];
var html = '';
jQuery.each(data_fields, function (index, field)
{
value = field.value ? field.value : (field.default_value ? field.default_value : null);
if (phone_adapter_data)
{
if (field.name in phone_adapter_data)
{
value = phone_adapter_data[field.name];
}
else
{
value = field.default_value ? field.default_value : null;
}
}
else
{
value = field.default_value ? field.default_value : null;
}
if (field.type == 'phone_number')
{

Binary file not shown.