Attention ! Gitlab fournissant maintenant nativement des certificats Let’s Encrypt aux domaines personnalisés des Gitlab Pages, nous avons coupé notre service qui le faisait automatiquement pour vous.

Il est impératif, pour que votre domaine personnalisé continue à avoir un certificat Let’s Encrypt à jour, d’activer la fonctionnalité native dans les paramètres de votre projet. Cette activation remplacera votre certificat actuel par un nouveau certificat Let’s Encrypt géré par Gitlab.

Voir les détails sur https://docs.framasoft.org/fr/gitlab/gitlab-pages-le.html

Commit dff4735f authored by Dimitri Robert's avatar Dimitri Robert

Ajout des documents à signer dans le bloc Messages et tâches du responsable...

Ajout des documents à signer dans le bloc Messages et tâches du responsable signataire. Création d'unefonction is_signataire() qui renvoie true si l'utilisateur est signataire. Retouches sur la CSS.
parent b753c98c
......@@ -543,11 +543,8 @@ class SessionFormation
global $Documents;
global $wpof;
$current_user_id = get_current_user_id();
$role = wpof_get_role($current_user_id);
// l'utilisateur courant peut-il signer les documents
$signataire = (($role == "um_responsable" && $current_user_id == $wpof->respform_id) || ($role == "admin" && $wpof->respform_admin == 1));
$signataire = is_signataire();
// quelle est la source de documents ?
if ($user_id > 0)
......
......@@ -47,9 +47,8 @@ label.autre span
{
width: 100%;
background-color: #DDD;
font-size: 0.8em;
padding-left: 2px;
padding-right: 2px;
font-size: 1em;
padding: 4px 2px;
}
.wpof-menu ul
{
......@@ -59,7 +58,7 @@ label.autre span
.wpof-menu li
{
display: inline;
padding: 4px;
padding: 6px;
margin: 0px;
}
.wpof-menu li:hover
......@@ -168,6 +167,12 @@ table.gestion-docs-admin .disabled:hover
color: #BBB;
}
td.td-intertitre
{
padding: 3px;
background: #DD4;
}
.bouton,
.gestion-docs-admin .doc-bouton
{
......
......@@ -331,6 +331,17 @@ function str_or_array($data)
return $data;
}
// l'utilisateur courant (ou $user_id) peut-il signer les documents
function is_signataire($user_id = -1)
{
global $wpof;
if ($user_id == -1)
$user_id = get_current_user_id();
$role = wpof_get_role($user_id);
return (($role == "um_responsable" && $user_id == $wpof->respform_id) || ($role == "admin" && $wpof->respform_admin == 1));
}
/*
* Retourne le nom (display_name) d'un utilisateur par son ID
* Si $link vaut true, alors le nom est entouré d'une balise a qui pointe vers sa page de profil
......@@ -363,6 +374,32 @@ function get_last_login($user_id)
}
/*
* Fonction qui interroge la table _documents à la recherche de documents à signer
* $role_request vaut , VALID_CLIENT_REQUEST ou VALID_STAGIAIRE_REQUEST (cf. constantes de la classe Document)
* $get_user : si true alors on retroune la valeur user_id depuis la base de données
* $get_doc : si true alors on retourne la valeur document depuis la base de données (type de document) (voir si il ne serait pas intéressant de renvoyer aussi le lien PDF et la date de last_modif)
*
* return: un tableau classé par session_id
*/
function get_docs_to_validated($role_request, $get_user = true, $get_doc = true)
{
require_once(wpof_path . "/class/class-document.php");
global $wpdb;
$table = $wpdb->prefix . WPOF_TABLE_SUFFIX_DOCUMENTS;
$select = "session_id".(($get_user) ? ", user_id" : "").(($get_doc) ? ", document" : "");
$query = $wpdb->prepare
("SELECT $select from $table
WHERE meta_key = 'valid'
AND meta_value & '%d'
ORDER BY session_id;",
$role_request);
return $wpdb->get_results($query);
}
function debug_info($info, $key)
{
$role = wpof_get_role(get_current_user_id());
......
......@@ -132,13 +132,68 @@ function board_profil_responsable($user_id, $role)
<div class="board-responsable">
<div class="wpof-menu">
<ul>
<li class="onglet" id="bttaches-resp" data-id="taches-resp"><?php _e("Messages et tâches"); ?></li>
<li class="onglet highlightButton" id="bttaches-resp" data-id="taches-resp"><?php _e("Messages et tâches"); ?></li>
<li class="onglet" id="btmetadata-resp" data-id="metadata-resp"><?php _e("Votre profil de responsable"); ?></li>
</ul>
</div>
<div class="wpof-tableau">
<div id="taches-resp" class="tableau blocHidden">
<?php
$doc_details = true;
$docs_a_valider = get_docs_to_validated(Document::VALID_RESPONSABLE_REQUEST, $doc_details);
$nb_docs = count($docs_a_valider);
?>
<div id="taches-resp" class="tableau">
<?php if ($nb_docs > 0): ?>
<p><?php _e("Voici la liste des documents à vérifier et, éventuellement, signer."); ?></p>
<table class='gestion-docs-admin'><tbody>
<tr class="tr-titre">
<th><?php _e("Document"); ?></th>
<th><?php _e("Signer"); ?></th>
</tr>
<?php
$last_session = 0;
foreach ($docs_a_valider as $doc_line)
{
if ($last_session != $doc_line->session_id)
{
$last_session = $doc_line->session_id;
$type_session = get_post_meta($last_session, 'type_formation', true);
echo "<tr><td colspan='2' class='td-intertitre'>".__("Session")." $type_session <a href='".get_the_permalink($doc_line->session_id)."'>".get_the_title($doc_line->session_id)."</a></td></tr>";
}
if ($doc_details)
{
$doc = new Document($doc_line->document, $doc_line->session_id, $doc_line->user_id);
// Nom du document
$last_modif = "";
if ($doc->last_modif != "")
$last_modif = "<br /><span class='last-modif'>{$wpof->doc_last_modif} : ".date_i18n("j/m/Y H:i:s", $doc->last_modif)."</span>";
$stagiaire = ($doc_line->user_id > 0) ? " – ".get_displayname($doc_line->user_id) : "";
echo "<tr id='tr-{$doc->id}'><td id='nom-{$doc->id}'>".$doc->link_name.$stagiaire.$last_modif."</td>";
echo "<td>";
if (is_signataire())
{
echo "<span class='doc-creer doc-signer doc-bouton' data-userid='$doc_line->user_id' data-formationid='{$doc->session_formation_id}' data-sessionid='{$doc_line->session_id}' data-docid='{$doc_line->document}' data-docuid='{$doc->id}' data-signer='signer' >".__("Signer")."</span>";
echo "<span style='display: none' class='valid-message'>".__("Validé !")."</span>";
}
else
echo "";
echo "</td></tr>";
}
}
?>
</tbody></table>
<?php else: ?>
<p><?php _e("Aucun document à signer. Passez une bonne journée."); ?></p>
<?php endif; ?>
</div>
<div id="metadata-resp" class="tableau metadata blocHidden">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment