mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-21 08:56:27 +02:00
add contact data enrichment && add templating on messages
This commit is contained in:
parent
50c7e4298c
commit
9f98fb5ae3
16 changed files with 833 additions and 88 deletions
|
@ -40,8 +40,25 @@
|
|||
<form action="<?php echo \descartes\Router::url('Scheduled', 'update', ['csrf' => $_SESSION['csrf']]);?>" method="POST">
|
||||
<?php foreach ($scheduleds as $scheduled) { ?>
|
||||
<div class="form-group">
|
||||
<label>Texte du SMS</label>
|
||||
<label>Texte du SMS</label>
|
||||
<?php if ($_SESSION['user']['settings']['templating']) { ?>
|
||||
<p class="italic small help description-scheduled-text">
|
||||
Vous pouvez utilisez des fonctionnalités de templating pour indiquer des valeures génériques qui seront remplacées par les données du contact au moment de l'envoie. Pour plus d'information, consultez la documentation sur <a href="#">l'utilisation des templates.</a><br/>
|
||||
Vous pouvez obtenir une prévisualisation du résultat pour un contact en cliquant sur le boutton <b>"Prévisualiser"</b>.
|
||||
</p>
|
||||
<?php } ?>
|
||||
<textarea name="scheduleds[<?php $this->s($scheduled['id']); ?>][text]" class="form-control" required><?php $this->s($scheduled['text'], true); ?></textarea>
|
||||
<?php if ($_SESSION['user']['settings']['templating']) { ?>
|
||||
<div class="scheduled-preview-container">
|
||||
<label>Prévisualiser pour : </label>
|
||||
<select name="" class="form-control">
|
||||
<?php foreach ($contacts as $contact) { ?>
|
||||
<option value="<?php $this->s($contact['id']); ?>"><?php $this->s($contact['name']); ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<a class="btn btn-info preview-button" href="#">Prévisualiser</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Date d'envoi du SMS</label>
|
||||
|
@ -77,7 +94,7 @@
|
|||
</div>
|
||||
<?php } ?>
|
||||
<div class="form-group">
|
||||
<label>Téléphone à employer : </label>
|
||||
<label>Numéro à employer : </label>
|
||||
<select name="scheduleds[<?php $this->s($scheduled['id']); ?>][origin]" class="form-control">
|
||||
<option <?php echo ($scheduled['origin'] ? '' : 'selected="selected"'); ?> value="">N'importe lequel</option>
|
||||
<?php foreach ($phones as $phone) { ?>
|
||||
|
@ -97,6 +114,22 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" tabindex="-1" id="scheduled-preview-text-modal">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Prévisualisation du message</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<pre></pre>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
|
@ -150,7 +183,7 @@
|
|||
var newScheduledsNumberGroupe = '' +
|
||||
'<div class="form-group scheduleds-number-groupe">' +
|
||||
'<input name="" class="form-control phone-international-input" type="tel" scheduled-id="' + scheduledId + '" id="' + random_id + '">' +
|
||||
'<span class="remove-scheduleds-number fa fa-times"></span>' +
|
||||
' <span class="remove-scheduleds-number fa fa-times"></span>' +
|
||||
'</div>';
|
||||
|
||||
jQuery(this).before(newScheduledsNumberGroupe);
|
||||
|
@ -167,7 +200,28 @@
|
|||
|
||||
});
|
||||
|
||||
jQuery('body').on('click', '.preview-button', function (e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var id_contact = jQuery(this).parents('.scheduled-preview-container').find('select').val();
|
||||
var template = jQuery(this).parents('.form-group').find('textarea').val();
|
||||
|
||||
var datas = {
|
||||
'id_contact' : id_contact,
|
||||
'template' : template,
|
||||
};
|
||||
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: HTTP_PWD + '/template/preview',
|
||||
data: datas,
|
||||
success: function (datas) {
|
||||
jQuery('#scheduled-preview-text-modal').find('.modal-body pre').text(datas.result);
|
||||
jQuery('#scheduled-preview-text-modal').modal({'keyboard': true});
|
||||
},
|
||||
dataType: 'json'
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue