Add first valid expression ruler. Still not linked to scheduleds.

This commit is contained in:
osaajani 2019-11-27 06:25:33 +01:00
parent f59f7bd757
commit f4bbfa0152
16 changed files with 1049 additions and 18 deletions

View file

@ -0,0 +1,66 @@
<?php
//Template dashboard
$this->render('incs/head', ['title' => 'Groupes Conditionnels - Add'])
?>
<div id="wrapper">
<?php
$this->render('incs/nav', ['page' => 'conditional_groupes'])
?>
<div id="page-wrapper">
<div class="container-fluid">
<!-- Page Heading -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
Nouveau groupe conditionnel
</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-dashboard"></i> <a href="<?php echo \descartes\Router::url('Dashboard', 'show'); ?>">Dashboard</a>
</li>
<li>
<i class="fa fa-random"></i> <a href="<?php echo \descartes\Router::url('ConditionalGroup', 'list'); ?>">Groupes Conditionnels</a>
</li>
<li class="active">
<i class="fa fa-plus"></i> Nouveau
</li>
</ol>
</div>
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-random fa-fw"></i> Ajout d'un groupe conditionnel</h3>
</div>
<div class="panel-body">
<form action="<?php echo \descartes\Router::url('ConditionalGroup', 'create', ['csrf' => $_SESSION['csrf']]);?>" method="POST">
<div class="form-group">
<label>Nom du groupe conditionnel</label>
<div class="form-group input-group">
<span class="input-group-addon"><span class="fa fa-users"></span></span>
<input name="name" class="form-control" type="text" placeholder="Nom groupe" autofocus required>
</div>
</div>
<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>
</p>
<input class="form-control" name="condition" placeholder="Ex : contact.datas.gender == 'male'"/>
</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" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
$this->render('incs/footer');

View file

@ -0,0 +1,83 @@
<?php
//Template dashboard
$this->render('incs/head', ['title' => 'Groupes Conditionnels - Edit'])
?>
<div id="wrapper">
<?php
$this->render('incs/nav', ['page' => 'conditional_groupes'])
?>
<div id="page-wrapper">
<div class="container-fluid">
<!-- Page Heading -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
Modification groupes conditionnels
</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-dashboard"></i> <a href="<?php echo \descartes\Router::url('Dashboard', 'show'); ?>">Dashboard</a>
</li>
<li>
<i class="fa fa-random"></i> <a href="<?php echo \descartes\Router::url('ConditionalGroup', 'list'); ?>">Groupes Conditionnels</a>
</li>
<li class="active">
<i class="fa fa-edit"></i> Modifier
</li>
</ol>
</div>
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-edit fa-fw"></i> Modification des groupes conditionnels</h3>
</div>
<div class="panel-body">
<form action="<?php echo \descartes\Router::url('ConditionalGroup', 'update', ['csrf' => $_SESSION['csrf']]);?>" method="POST">
<?php foreach ($groups as $group) { ?>
<input name="groups[<?php $this->s($group['id']); ?>][group][id]" type="hidden" value="<?php $this->s($group['id']); ?>">
<div class="form-group">
<label>Nom du groupe conditionnel</label>
<div class="form-group input-group">
<span class="input-group-addon"><span class="fa fa-user"></span></span>
<input name="groups[<?php $this->s($group['id']); ?>][name]" class="form-control" type="text" placeholder="Nom groupe" autofocus required value="<?php $this->s($group['name']); ?>">
</div>
</div>
<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>
</p>
<input class="form-control" name="groups[<?php $this->s($group['id']); ?>][condition]" value="<?php $this->s($group['condition']); ?>"/>
</div>
<hr/>
<?php } ?>
<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" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
jQuery(document).ready(function()
{
jQuery('.add-contacts').each(function()
{
jQuery(this).magicSuggest({
data: '<?php echo \descartes\Router::url('Contact', 'json_list'); ?>',
valueField: 'id',
displayField: 'name',
});
});
});
</script>
<?php
$this->render('incs/footer');

View file

@ -0,0 +1,101 @@
<?php
//Template dashboard
$this->render('incs/head', ['title' => 'ConditionalGroupes Conditionnels - Show All'])
?>
<div id="wrapper">
<?php
$this->render('incs/nav', ['page' => 'conditional_groupes'])
?>
<div id="page-wrapper">
<div class="container-fluid">
<!-- Page Heading -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
Dashboard <small>Groupes Conditionnels</small>
</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-dashboard"></i> <a href="<?php echo \descartes\Router::url('Dashboard', 'show'); ?>">Dashboard</a>
</li>
<li class="active">
<i class="fa fa-random"></i> Groupes Conditionnels
</li>
</ol>
</div>
</div>
<!-- /.row -->
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-random fa-fw"></i> Liste des groupes conditionnels</h3>
</div>
<div class="panel-body">
<form method="GET">
<?php if (!$groups) { ?>
<p>Aucun groupe n'a été formé pour le moment.</p>
<?php } else { ?>
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped" id="table-groupes">
<thead>
<tr>
<th>#</th>
<th>Nom</th>
<th>Condition</th>
<th style="width:5%;">Sélectionner</th>
</tr>
</thead>
<tbody>
<?php foreach ($groups as $group) { ?>
<tr>
<td><?php $this->s($group['id']); ?></td>
<td><?php $this->s($group['name']); ?></td>
<td><?php $this->s($group['condition']); ?></td>
<td><input type="checkbox" name="ids[]" value="<?php $this->s($group['id']); ?>"></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<?php } ?>
<div>
<div class="col-xs-6 no-padding">
<a class="btn btn-success" href="<?php echo \descartes\Router::url('ConditionalGroup', 'add'); ?>"><span class="fa fa-plus"></span> Ajouter un groupe conditionnel</a>
</div>
<?php if ($groups) { ?>
<div class="text-right col-xs-6 no-padding">
<strong>Action pour la séléction :</strong>
<button class="btn btn-default" type="submit" formaction="<?php echo \descartes\Router::url('ConditionalGroup', 'edit'); ?>"><span class="fa fa-edit"></span> Modifier</button>
<button class="btn btn-default" type="submit" formaction="<?php echo \descartes\Router::url('ConditionalGroup', 'delete', ['csrf' => $_SESSION['csrf']]); ?>"><span class="fa fa-trash-o"></span> Supprimer</button>
</div>
<?php } ?>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
jQuery(document).ready(function ()
{
jQuery('.action-dropdown a').on('click', function (e)
{
e.preventDefault();
var destination = jQuery(this).parents('.action-dropdown').attr('destination');
var url = jQuery(this).attr('href');
jQuery(destination).find('input:checked').each(function ()
{
url += '/' + jQuery(this).val();
});
window.location = url;
});
});
</script>
<?php
$this->render('incs/footer');

View file

@ -19,7 +19,7 @@
</script>
<?php } ?>
<?php if (!$_SESSION['user']['settings']['display_help']) { ?>
<?php if (!$_SESSION['user']['settings']['display_help'] ?? false) { ?>
<style>.help {display: none;}</style>
<?php } ?>

View file

@ -55,13 +55,16 @@
</li>
<li>
<a href="javascript:;" data-toggle="collapse" data-target="#repertoire"><i class="fa fa-fw fa-book"></i> Répertoire <i class="fa fa-fw fa-caret-down"></i></a>
<ul id="repertoire" class="collapse <?php echo in_array($page, array('contacts', 'groupes')) ? 'in' : ''; ?>">
<ul id="repertoire" class="collapse <?php echo in_array($page, array('contacts', 'groupes', 'conditional_groupes')) ? 'in' : ''; ?>">
<li <?php echo $page == 'contacts' ? 'class="active"' : ''; ?>>
<a href="<?php echo \descartes\Router::url('Contact', 'list'); ?>"><i class="fa fa-fw fa-user"></i> Contacts</a>
</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>
</ul>
</li>
<li>