Welcome to ProjeQtOr new Forum. We migrated old forum to the new website.
You will find all your posts here, with your usual account.
Just one point : you’ll have to reinitialize your password. Use “Lost password” feature.
Bonjour à tous,
Après quelques prises de têtes à comprendre pourquoi j'avais cette erreur :
2012-12-20 08:56:11 ** ERROR ** Exception-[42S02] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'projectorria.parameter' doesn't exist
2012-12-20 08:56:11 ** ERROR ** For query : select * from parameter where (idUser is null and idProject is null)
2012-12-20 08:56:11 ** ERROR ** Strack trace :
2012-12-20 08:56:11 ** ERROR ** #0 Sql->query called at [/model/persistence/SqlElement.php:1133]
2012-12-20 08:56:11 ** ERROR ** #1 SqlElement->getSqlElementsFromCriteria called at [/model/Parameter.php:447]
2012-12-20 08:56:11 ** ERROR ** #2 Parameter->getGlobalParameter called at [/view/login.php:121]
2012-12-20 08:56:11 ** ERROR ** #3 include called at [/tool/projector.php:118]
2012-12-20 08:56:11 ** ERROR ** #4 require_once called at [/view/main.php:10]
J'ai enfin compris que ma base de données ayant un autocommit désactivé par defaut (mode transactionnel privilégié), une opération se déroulait mal car la table créé précédement et qu'il s'attendait à trouver n'avait pas été "commitée" 😉
Pour le moment j'ai solutionné le problème via une solution quick & dirty :
for i in db/*.sql; do sed -i '1iSET AUTOCOMMIT = 1;' $i; done
Pour les prochaines version, un p'tit commit par ci par là serait peut être le bienvenu non ? 😉
Merci en tout cas pour tout le travail effectué sur cette solution 🙂
Je me répond à moi pour ajouter que finallement l'utilisation semble problématique dans ce type de mode : l'insertion auto d'utilisateur ldap "marchotte"... id user renseigné dans le parameters... mais pas dans resource 🙁
ldap "marchotte"... id user renseigné dans le parameters... mais pas dans resource
C'est normal.
Quand une nouvelle personne se connecte à l'application via LDAP, elle est insérée en base en tant qu'utilisateur (user) : elle peut se connecter.
Pour que cette personne devienne une ressource, et puisse être affectée, saisir du temps passé, il faut une intervention manuelle d'un manager (admin, CP,...) pour que l'utilisateur soit aussi une ressource : aller dans l'écran des utilisateurs et cocher "est une ressource".
Pour les prochaines version, un p'tit commit par ci par là serait peut être le bienvenu non ?
Ticket #937 pour ajouter la gestion des commits dans les scirpts de maintenance.
ldap "marchotte"... id user renseigné dans le parameters... mais pas dans resource
C'est normal.
Quand une nouvelle personne se connecte à l'application via LDAP, elle est insérée en base en tant qu'utilisateur (user) : elle peut se connecter.
Pour que cette personne devienne une ressource, et puisse être affectée, saisir du temps passé, il faut une intervention manuelle d'un manager (admin, CP,...) pour que l'utilisateur soit aussi une ressource : aller dans l'écran des utilisateurs et cocher "est une ressource".
Merci beaucoup pour le retour 🙂
Par contre autant je confirme la manipulation à faire pour déclarer une nouvelle personne après sa connexion en ldap... autant je confirme également qu'il y a un p'tit bug puisque l'utilisateur en question n'apparait pas dans la liste des utilisateurs 🙁
(alors que dans la base de données, si il modifie ses informations, ces dernières sont bien sauvegardées avec un id dans la table parameter).
Quel est le fichier responsable de l'ensemble des fonctions sql ?
Théoriquement il suffit (après je sais que c'est toujours facile à dire les "ya ka fo kon") de mettre une ligne "$mysqli->autocommit(TRUE);" ou équivalent lors de l'établissement de la connexion à la base.
mettre une ligne "$mysqli->autocommit(TRUE);"
Ce n'est pas à faire systématiquement parce que les mises à jour sont (normalement) transactionnelles.
La partie mise à jour LDAP a peut-être été oubliée.
C'est dans /model/user.php.
Ticket #939 enregistré.
Merci pour tout 🙂
A tout hasard... auriez vous une solution "propre" pour corriger ce problème ? Comme je suis en phase de test avec ce produit, j'ai encore opté pour une solution very very dirty : donner les droits SUPER au user de projectorria... comme l'autocommit était appliqué via un innit_connect... ça marche :p
Par contre, c'est évidemment super horrible d'un point de vue sécurité...
J'ai tenté de relire le fichier user.php... et n'étant pas codeur php (et encore moins php en mode objet...), j'avoue qu'il m'a un peu piqué les yeux 🙁
Si jamais vous avez une idée de patch plus propre, je suis preneur... sinon tant pis, j'attendrai comme tout le monde qu'une prochaine release corrige ce problème 🙂
Merci encore et excellentes fêtes de fin d'année 😀
Merci beaucoup d'avoir pris le temps de proposer une solution 🙂
Malheureusement, ça ne marche pas :
2012-12-22 18:07:45 ** ERROR ** ERROR **
2012-12-22 18:07:45 ** ERROR ** on file '(...)/model/User.php' at line (651)
2012-12-22 18:07:45 ** ERROR ***** cause = stripos() expects parameter 1 to be string, resource given
Etant en congés pendant une semaine... et j'imagine que de votre côté vous avez aussi surement d'autre priorités, on verra tout ça l'année prochaine, si je trouve une solution plus propre, je vous tiens au courant 🙂
Bonnes fêtes 😀
Très étrange : le même genre de code se trouve dans tous les /tool/save*.php...
Je jetterai un oeil à l'occasion.
En attendant, en replaçant
if (stripos($resultSaveUser,'id="lastOperationStatus" value="OK"')>0 ) {
Sql::commitTransaction();
} else {
Sql::rollbackTransaction();
}
par
// if (stripos($resultSaveUser,'id="lastOperationStatus" value="OK"')>0 ) {
Sql::commitTransaction();
// } else {
// Sql::rollbackTransaction();
// }
(on commite systématiquement),
ça devrait marcher...
Bonnes fêtes ! :cheer:
Si c'est pas honteux... répondre un samedi... fin de journée... et ainsi me tenter le test ! 😉
En effet, en ne laissant que le commit, c'est sur que ça fonctionne 🙂 (en tout cas après quelques tests rapides)
A voir sur le long terme, mais dans tous les cas merci beaucoup pour ce suivi assidu à des heures pas possible (oui je suis pas mieux dans l'histoire :p)
@ l'année prochaine 😀
Il n'y a pas d'heure pour les braves !
:whistle:
Joyeuses fêtes !