Finish add conditional groups

This commit is contained in:
osaajani 2019-11-28 01:55:11 +01:00
parent f4bbfa0152
commit 47b26e3cd2
15 changed files with 273 additions and 67 deletions

View file

@ -48,9 +48,13 @@
<div class="form-group">
<label>Condition</label>
<p class="italic small help">
Les conditions vous permettent de définir dynamiquement les contacts qui appartiennent au groupe en utilisant leurs données additionnelles. Pour plus d'informations consultez la documentation relative à <a href="#">l'utilisation des groupes conditionnels.</a>
Les conditions vous permettent de définir dynamiquement les contacts qui appartiennent au groupe en utilisant leurs données additionnelles. Pour plus d'informations consultez la documentation relative à <a href="#">l'utilisation des groupes conditionnels.</a><br/>
Vous pouvez prévisualiser les contacts qui feront parti du groupe en cliquant sur le bouton <b>"Prévisualiser les contacts"</b>.
</p>
<input class="form-control" name="condition" placeholder="Ex : contact.datas.gender == 'male'"/>
<div class="scheduled-preview-container">
<a class="btn btn-info preview-button" href="#">Prévisualiser les contacts</a>
</div>
</div>
<a class="btn btn-danger" href="<?php echo \descartes\Router::url('ConditionalGroup', 'list'); ?>">Annuler</a>
<input type="submit" class="btn btn-success" value="Enregistrer le groupe" />
@ -62,5 +66,46 @@
</div>
</div>
</div>
<div class="modal fade" tabindex="-1" id="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">&times;</span></button>
<h4 class="modal-title">Prévisualisation des contacts</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()
{
jQuery('body').on('click', '.preview-button', function (e)
{
e.preventDefault();
var condition = jQuery(this).parents('.form-group').find('input').val();
var datas = {
'condition' : condition,
};
jQuery.ajax({
type: "POST",
url: HTTP_PWD + '/conditional_group/preview/',
data: datas,
success: function (datas) {
jQuery('#preview-text-modal').find('.modal-body pre').text(datas.result);
jQuery('#preview-text-modal').modal({'keyboard': true});
},
dataType: 'json'
});
});
});
</script>
<?php
$this->render('incs/footer');

View file

@ -61,10 +61,12 @@
</li>
<li <?php echo $page == 'groupes' ? 'class="active"' : ''; ?>>
<a href="<?php echo \descartes\Router::url('Group', 'list'); ?>"><i class="fa fa-fw fa-group"></i> Groupes</a>
</li>
<li <?php echo $page == 'conditional_groupes' ? 'class="active"' : ''; ?>>
<a href="<?php echo \descartes\Router::url('ConditionalGroup', 'list'); ?>"><i class="fa fa-fw fa-random"></i> Groupes Conditionnels</a>
</li>
</li>
<?php if ($_SESSION['user']['settings']['conditional_group'] ?? false) { ?>
<li <?php echo $page == 'conditional_groupes' ? 'class="active"' : ''; ?>>
<a href="<?php echo \descartes\Router::url('ConditionalGroup', 'list'); ?>"><i class="fa fa-fw fa-random"></i> Groupes Conditionnels</a>
</li>
<?php } ?>
</ul>
</li>
<li>

View file

@ -81,6 +81,12 @@
<label>Groupes cibles</label>
<input class="add-groupes form-control" name="groups[]"/>
</div>
<?php if ($_SESSION['user']['settings']['conditional_group'] ?? false) { ?>
<div class="form-group">
<label>Groupes conditionnels cibles</label>
<input class="add-conditional-groups form-control" name="conditional_groups[]"/>
</div>
<?php } ?>
<?php if ($_SESSION['user']['settings']['sms_flash']) { ?>
<div class="form-group">
<label>Envoyer comme un SMS Flash : </label>
@ -149,6 +155,15 @@
});
});
jQuery('.add-conditional-groups').each(function()
{
jQuery(this).magicSuggest({
data: '<?php echo \descartes\Router::url('ConditionalGroup', 'json_list'); ?>',
valueField: 'id',
displayField: 'name',
});
});
jQuery('body').on('click', '.remove-scheduleds-number', function(e)
{
jQuery(this).parents('.scheduleds-number-groupe').remove();

View file

@ -84,6 +84,12 @@
<label>Groupes cibles</label>
<input class="add-groupes form-control" name="scheduleds[<?php $this->s($scheduled['id']); ?>][groups][]" value="<?php $this->s(json_encode($scheduled['groups'])); ?>" />
</div>
<?php if ($_SESSION['user']['settings']['conditional_group'] ?? false) { ?>
<div class="form-group">
<label>Groupes conditionnels cibles</label>
<input class="add-conditional-groups form-control" name="scheduleds[<?php $this->s($scheduled['id']); ?>][conditional_groups][]" value="<?php $this->s(json_encode($scheduled['conditional_groups'])); ?>" />
</div>
<?php } ?>
<?php if ($_SESSION['user']['settings']['sms_flash']) { ?>
<div class="form-group">
<label>Envoyer comme un SMS Flash : </label>
@ -159,6 +165,16 @@
});
});
jQuery('.add-conditional-groups').each(function()
{
jQuery(this).magicSuggest({
data: '<?php echo \descartes\Router::url('ConditionalGroup', 'json_list'); ?>',
valueField: 'id',
displayField: 'name',
});
});
jQuery('body').on('click', '.remove-scheduleds-number', function(e)
{
jQuery(this).parents('.scheduleds-number-groupe').remove();