ticket 54: LDC MEssage
- ajout d'onglets pour trier les messages par status
This commit is contained in:
parent
acd8fe0488
commit
ef56ddff49
2 changed files with 69 additions and 6 deletions
|
|
@ -392,10 +392,11 @@ function outputMessageToPDF($ref, $date, $htmlMessageString)
|
|||
* @param int $page Le numéro de la page
|
||||
* @param int $limit LE nombre maximal d'éléments dans une page
|
||||
* @param string $search Le texte a rechercher sur un des champs
|
||||
* @param int $status Recherche avec un statut, $search ne doit pas être à false
|
||||
*
|
||||
* @return object
|
||||
*/
|
||||
function getMessages($page, $limit = 8, $search = false)
|
||||
function getMessages($page, $limit = 8, $search = false, $status = null)
|
||||
{
|
||||
global $wpdb;
|
||||
|
||||
|
|
@ -429,7 +430,6 @@ function getMessages($page, $limit = 8, $search = false)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// status
|
||||
if (strpos(
|
||||
strtolower(remove_accents('traité')),
|
||||
|
|
@ -444,6 +444,11 @@ function getMessages($page, $limit = 8, $search = false)
|
|||
}
|
||||
|
||||
$query .= ')';
|
||||
} else {
|
||||
// status
|
||||
if ($status) {
|
||||
$query .= " AND status = $status";
|
||||
}
|
||||
}
|
||||
|
||||
$total = $wpdb->get_results(
|
||||
|
|
@ -488,13 +493,19 @@ function init()
|
|||
$search = ($_SERVER['REQUEST_METHOD'] === 'POST' and isset($_POST['search'])) ?
|
||||
sanitize_text_field($_POST['search']) : false;
|
||||
|
||||
$currentPage = isset($_GET['p']) ? intval($_GET['p']) : 1;
|
||||
$messages = getMessages($currentPage, $messagesByPage, $search);
|
||||
$currentPage = isset($_GET['p']) ? intval(sanitize_text_field($_GET['p'])) : 1;
|
||||
$status = isset($_GET['s']) ? intval((bool)sanitize_text_field($_GET['s'])) : null;
|
||||
$messages = getMessages($currentPage, $messagesByPage, $search, $status);
|
||||
|
||||
$page = '<div class="wrap">';
|
||||
$page .= '<h1 class="wp-heading-inline">Gestion des messages - LDC</h1>';
|
||||
|
||||
$page .= "<form class='ldc_messages_search' method='POST' action='/wp-admin/admin.php?page=ldc-messages'>";
|
||||
$page .= "<div>";
|
||||
$page .= "<a href='/wp-admin/admin.php?page=ldc-messages&p=$currentPage' class='ldc_messages_btn'>Tout</a>";
|
||||
$page .= "<a href='/wp-admin/admin.php?page=ldc-messages&p=$currentPage&s=0' class='ldc_messages_btn ldc_messages_bg_red'>À traiter</a>";
|
||||
$page .= "<a href='/wp-admin/admin.php?page=ldc-messages&p=$currentPage&s=1' class='ldc_messages_btn ldc_messages_bg_green'>Traité</a>";
|
||||
$page .= "</div>";
|
||||
$page .= '<input type="text" name="search" style="min-width: 28rem;" placeholder="Recherche selon de multiples critères" required/>';
|
||||
$page .= "<button type='submit'>Rechercher</button>";
|
||||
$page .= "</form>";
|
||||
|
|
@ -560,9 +571,12 @@ function init()
|
|||
|
||||
$page .= "</table>";
|
||||
|
||||
$genLink = function ($page, $text = null) use ($currentPage) {
|
||||
$genLink = function ($page, $text = null) use ($currentPage, $status) {
|
||||
$class = $currentPage === $page ? "class='active'" : "";
|
||||
$link = "/wp-admin/admin.php?page=ldc-messages&p=$page";
|
||||
if ($status !== null) {
|
||||
$link .= "&s=$status";
|
||||
}
|
||||
return "<a href='$link' $class>" . ($text ?? $page) . "</a>";
|
||||
};
|
||||
|
||||
|
|
@ -595,6 +609,7 @@ function init()
|
|||
$page .= $messages->lastPage != $messages->currentPage ?
|
||||
$genLink($messages->lastPage, 'Fin') : '<span>Fin</span>';
|
||||
}
|
||||
$page .= " <div>Total messages : $messages->total</div>";
|
||||
$page .= "</div>";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,13 +19,61 @@
|
|||
}
|
||||
|
||||
.ldc_messages_red {
|
||||
color: red;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.ldc_messages_green {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.ldc_messages_bg_red {
|
||||
background-color: red !important;
|
||||
}
|
||||
|
||||
.ldc_messages_bg_green {
|
||||
background-color: green !important;
|
||||
}
|
||||
|
||||
.ldc_messages_btn {
|
||||
border-radius: 4px;
|
||||
display: inline;
|
||||
border: none;
|
||||
padding: 0.6rem 3rem;
|
||||
margin: 0;
|
||||
text-decoration: none;
|
||||
background: #333;
|
||||
color: #ffffff;
|
||||
font-family: sans-serif;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
transition: background 250ms ease-in-out,
|
||||
transform 150ms ease;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
margin: 0.2rem;
|
||||
}
|
||||
|
||||
.ldc_messages_btn:disabled,
|
||||
.ldc_messages_btn[disabled] {
|
||||
color: #AAA;
|
||||
}
|
||||
|
||||
.ldc_messages_btn:hover,
|
||||
.ldc_messages_btn:focus {
|
||||
color: #ddd;
|
||||
background: #222;
|
||||
}
|
||||
|
||||
.ldc_messages_btn:focus {
|
||||
outline: 1px solid #fff;
|
||||
outline-offset: -4px;
|
||||
}
|
||||
|
||||
.ldc_messages_btn:active {
|
||||
transform: scale(0.99);
|
||||
}
|
||||
|
||||
#reponse-msg {
|
||||
width:700px;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue