You are not logged in.
Bonjour,
Voici une suggestion : nous utilisons la fonction de réservation pour :
Réserver des machines de calcul
Faire des prêts de divers matos (pc portables, clefs usb, vidéo-proj, ...)
Réserver des salles de réunion virtuelles
Or, après de nombreuses heures d'utilisation on se rend compte qu'il manque une option qui nous permet de spécifier si le matériel a bien été retirer par l'utilisateur et si celui ci l'a rendu.
Une simple case à cocher dans la réservation suffirait.
Pour la gestion on pourrait ensuite imaginer :
L'intégration sur le tableau de bord de chaque membre du helpdesk d'une liste du matériel prêté (réservation) qui n'a toujours pas été restitué
L'envoie d'un e-mail d'alerte au bout de X jours après la date de fin de la réservation
L’émission d'une alerte visuelle lors des réservation suivante (attention, ce matériel n'a toujours pas été restitué)
...
Faite moi savoir si cette fonctionnalité vous intéresse, auquel cas j'essaierais de me dégager du temps pour la coder.
Bonne journée,
Thierry.
Offline
Une simple réponse : intéressé/pas intéressé (30 sec de rédaction grand max) serait appréciable.
Offline
bonjour
bonne idée, j'ai ajouté un ticket pour ne pas oublier : https://forge.indepnet.net/issues/2813
merci !
Offline
Hello,
Je vais faire remonter ce post car une tel fonctionnalité m'intéresse grandement aussi.
Actuellement nous gérons cela par des retours aux mails de réservations mais ce n'est pas du tout pratique à gérer.
L'idée de la case à coché est plutôt pas mal. Ainsi on cocherais cette case quand la personne vient chercher le matériel et si cette cache n'est toujours pas décochée à une durée configurable après l'heure de fin de réservation l'équipe reçoit un mail.
Offline
Moi aussi je pense que c'est une fonctionnalité qui aurait avantage à être ajouté. S'il pourrait avoir un indicateur quelconque, style «matériel en prêt» ou un code de couleur, quand on consulte la liste des matériels en prêt, ça serait super.
Offline
Bonjour,
J'avais initier cette conversation en proposant de faire moi même la mise à jour mais malheureusement je n'ai pas eu le temps de m'en charger et je ne pense pas que je l'aurai dans les 6 prochains mois.
Ma problématique est quelque peu différente puisque j'ai deux types de réservations :
- des réservations que les utilisateurs peuvent faire par eux mêmes (réservation de serveurs de calculs par ex.)
- des réservations que seul le service informatique peut faire pour eux (réservation de pc portable, clefs usb, ...)
J'ai donc géré ces deux cas en mettant le matériel ne pouvant être réservé par les utilisateurs dans une entité différente. Le seul problème, c'est que cette façon de faire m'empêche de sélectionner dans la liste déroulante la personne qui emprunte le matériel.
Ce que l'on fait est donc simple, on ajoute dans la zone de commentaire l'adresse mail de la personne qui fait la réservation. Tous les jours à 16h, j'ai un script python qui regarde dans ma base de données si une réservation expire et si c'est le cas, un mail est envoyé à l'utilisateur et au service informatique.
Je vous laisse le script python ci-dessous :
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import MySQLdb as SQL;
import datetime;
import smtplib;
import re;
# Définition des variables MySQL
mysqlHost = 'localhost'
mysqlDB = 'glpi'
mysqlUser = 'glpi'
mysqlPasswd = 'mon_mot_de_passe_mysql'
# Définition des variables du mail
sender = 'no-reply@domain.tdl'
receivers = ['sysadmin@domain.tdl']
# Attention, la ligne vide à la fin du header est importante, elle fait la séparation avec le body
header = """From: Support Informatique <%s>
To: <%s>
MIME-Version: 1.0
Content-type: text/html
Subject: [GLPI] Fin de la reservation
""" % (sender, receivers[0])
# Création d'un dictionnaire pour faire la correspondance entre le type d'item et la base de données associée
item_databases_dict = {'Software': 'glpi_softwares', 'NetworkEquipment': 'glpi_networkequipments', 'Computer': 'glpi_computers', 'Peripheral': 'glpi_peripherals', 'ConsumableItem': 'glpi_consumableitems', 'SoftwareLicense': 'glpi_softwarelicenses'}
# On récupère la date du jour : elle va être utilisée dans les calculs
today = datetime.date.today()
# On ouvre la connexion à la base de données et on crée le curseur
conn = SQL.connect(mysqlHost, mysqlUser, mysqlPasswd, mysqlDB)
cursor = conn.cursor()
# On recherche les items dont la reservation arrive à expiration
cursor.execute("SELECT items.itemtype, items.items_id, reservations.comment FROM glpi_reservationitems items, glpi_reservations reservations WHERE (items.id=reservations.reservationitems_id) AND (items.entities_id=7) AND (DATEDIFF(DATE(reservations.end),STR_TO_DATE('%s','%%Y-%%m-%%d')) = 0)" % (today))
expired_reservations=cursor.fetchall()
for reservation in expired_reservations:
item_type = reservation[0]
item_id = reservation[1]
reservation_comment = reservation[2]
item_database = item_databases_dict[item_type]
cursor.execute("SELECT t1.name FROM %s t1 WHERE t1.id=%s" % (item_database,item_id))
item_name=cursor.fetchone()
# On commence à construire le mail
message = header
# On verifie qu'il y a bien un sender dans le commentaire
if reservation_comment:
# On vérifie que le commentaire correspond bien à une adresse mail
if re.match('^[a-zA-Z0-1.]+@domain\.tdl',reservation_comment):
my_receivers = receivers + [reservation_comment]
message += "Emprunteur : %s<br><br>" % (reservation_comment)
else:
my_receivers = receivers
else:
my_receivers = receivers
# On ajout de header au message
message += "La reservation du matériel %s est arrivé à échéance.<br><br>" % (item_name[0])
message += "Merci de le ramener au service informatique."
# On envoi le mail
try:
mail = smtplib.SMTP('localhost')
mail.sendmail(sender, my_receivers, message)
print 'Message envoyé'
except SMTPException:
print 'Erreur : le message n\'a pas pu être envoyé'
cursor.close()
conn.close()
Voilà, c'est simple mais ça fait le boulot attendant de développer la fonctionnalité complète.
Last edited by tlamoureux (2011-11-22 10:16:00)
Offline
Intéressant
dommage que vous n'ayez plus de temps à vous consacrer à cette nouvelle fonctionnalité.
JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au projet GLPI : Soutenir
Offline
Clairement, oui c'est bien quelque chose qui manque à ce module de réservation. Nous on laisse à chaque fois en commentaire si le matériel a été prêté ou rendu.
Prod : 0.85.2
Test : GLPI 9.1.2
Offline
Même idée de mon coté, je trouve cela intéressant.
GLPI 9.1.1
PHP 7.0.13 / MySQL 5.0.12 / Apache/2.4.23 (Win32)
xampp-win32-7.0.13-1-VC14 sous W2K8R2
Offline