Page 1 sur 1

[3.1.45] liaison entre le type de ticket et la categorie

Posté : ven. 3 janv. 2020 10:55
par dilan
Bonjour à tous,
j'aimerai pourvoir lier le type de ticket et les catégories comme fonctionne les catégories et les sous-catégories.
pouvez-vous m'orienter?
merci d'avance

Re: [3.1.45] liaison entre le type de ticket et la categorie

Posté : mar. 21 janv. 2020 11:01
par dilan
toujours pas de réaction?

Re: [3.1.45] liaison entre le type de ticket et la categorie

Posté : mar. 21 janv. 2020 11:28
par Flox
Bonjour,

l'application ne dispose pas de cette fonctionnalité dans sa version actuelle, une évolution logiciel est nécessaire.
Vous pouvez-voter dans la section roadmap pour que cette demande soit intégrer en priorité.

Cdt

Re: [3.1.45] liaison entre le type de ticket et la categorie

Posté : jeu. 23 janv. 2020 08:27
par bertrandkama
J'ai pu le faire en faisant ceci:

Modifier la table "tsubcat" dans la base de données en ajoutant un champ "id_type"
tsubcat.png
tsubcat.png (6.34 Kio) Vu 6073 fois
Ensuite j'ai modifié le code source du fichier: \ticket.php ainsi qu'il suit

<select title="<?php echo T_('Sous-catégorie'); ?>" id="subcat" name="subcat" onchange="loadVal(); <?php if($rright['ticket_cat_mandatory']) {echo 'FormValidation();';} ?>" <?php if(($rright['ticket_cat']==0 && $_GET['action']!='new') || ($rright['ticket_new_cat']==0 && $_GET['action']=='new')) echo ' disabled="disabled" ';?> >
<?php
if ($_POST['category'])
{$query= $db->query("SELECT id,name FROM `tsubcat` WHERE id_type= '$_POST[type]' and cat LIKE '$_POST[category]' ORDER BY name ASC");}
else
{$query= $db->query("SELECT id,name FROM `tsubcat` WHERE cat LIKE '$globalrow[category]' ORDER BY name ASC");}
while ($row = $query->fetch())
{
if ($row['id']==0) {$row['name']=T_($row['name']);}
if ($_POST['subcat'])
{
if ($_POST['subcat']==$row['id']) echo '<option value="'.$row['id'].'" selected>'.T_($row['name']).'</option>'; else echo '<option value="'.$row['id'].'">'.T_($row['name']).'</option>';
}
else
{
if ($globalrow['subcat']==$row['id']) echo '<option value="'.$row['id'].'" selected>'.T_($row['name']).'</option>'; else echo '<option value="'.$row['id'].'">'.T_($row['name']).'</option>';
}
}
$query->closeCursor();
if ($globalrow['subcat']==0 && $_POST['subcat']==0) echo "<option value=\"\" selected></option>";
?>
</select>

ça marche super bien chez moi

Re: [3.1.45] liaison entre le type de ticket et la categorie

Posté : lun. 8 févr. 2021 09:20
par Mechayem
Je n'ai pas encore essayé d'implémenter cette solution mais cela me parait être une bonne solution pour ajouter un troisième niveau de catégorisation.
Dans notre emploi de la solution nous avons été à plusieurs reprises limité par les deux niveaux de catégorie.

Avec le code présent et si cela ne représente pas une charge de travail conséquente serait-il possible de l'intégrer dans une future évolution ?

Encore une fois très bon produit ! Merci pour tout le travail effectué

Re: [3.1.45] liaison entre le type de ticket et la categorie

Posté : mer. 10 févr. 2021 18:48
par Mechayem
Alors ça n'avait pas le comportement que je pensais ou alors je n'ai pas bien compris la modification :)

Cela m'a néanmoins inspiré pour faire les modifications suivantes :
- Le champ Type et le champ Catégorie sont liés de la même manière que Catégorie et Sous-catégorie sont liés
- Dans l'ajout et la modification de ticket, les champs Catégorie et Sous-catégorie se mettent à jour en changeant le champ Type
- Dans l'ajout et la modification de ticket, le champ Type est au dessus de la Catégorie
- Dans l'administration, l'ajout et la modification d'une Catégorie a maintenant une liste déroulante des Types

Les soucis qui restent :
- Affichage d'un champ vide ou bien de "Aucune" assez aléatoire quand l'id de la Catégorie ou de la Sous-catégorie est à 0. Je ne comprend pas bien pourquoi un coup il n'y a rien et pourquoi un coup on a "Aucune".

Les fichiers modifiés sont les suivants :
- /admin/list.php
- /ticket.php
- /js/ticket.js
- /ajax/ticket_category_db.php (nouveau fichier créé à partir de ticket_subcat_db.php, pensez à mettre les bons droits sur le fichier : chown -R gestsup:www-data /var/www/html/ajax/ticket_category_db.php)

La nouvelle entrée en base de donnée :

Code : Tout sélectionner

ALTER TABLE tcategory ADD COLUMN id-type INT DEFAULT 0 AFTER number;

Re: [3.1.45] liaison entre le type de ticket et la categorie

Posté : ven. 12 févr. 2021 14:00
par Mechayem
Je n'ai pas vu comment éditer un précédent message, désolé pour les réponse en suivant.

Petite faute dans la requête :

Code : Tout sélectionner

ALTER TABLE tcategory ADD COLUMN id_type INT DEFAULT 0 AFTER number;
Quelques corrections dans les fichiers, je les remets aussi.