Bug édition permission [RESOLU]
3 messages
• Page 1 sur 1
Bug édition permission [RESOLU]
Bonjour,
Voilà j'ai un petit bug et je tenais à le partager. Je précise que je suis en 1.48b.
Admettons que je sois un admin faisant partit du groupe démonstration, je n'ai accès au Back Office que en lecture donc je ne peux que visualiser mais rien modifier sinon j'obtiens un joli message d'erreur.
En essayant de modifier mes propres droits (en lecture de user/user et user/user_permission en même temps) dans système->utilisateurs->groupe utilisateurs, j'obtiens un joli message d'erreur, normal.
Mais j'ai aussi en haut de la page ce message :
et dans la box en face de Droits en Ècriture,
ce message d'erreur pour chaque droit :
Je me penche dessus et j'essaye de vous donner un correctif propre
Voilà j'ai un petit bug et je tenais à le partager. Je précise que je suis en 1.48b.
Admettons que je sois un admin faisant partit du groupe démonstration, je n'ai accès au Back Office que en lecture donc je ne peux que visualiser mais rien modifier sinon j'obtiens un joli message d'erreur.
En essayant de modifier mes propres droits (en lecture de user/user et user/user_permission en même temps) dans système->utilisateurs->groupe utilisateurs, j'obtiens un joli message d'erreur, normal.
Mais j'ai aussi en haut de la page ce message :
- Code: Tout sélectionner
Notice: Undefined index: modify in D:\www\ecommerce\opencart\admin\controller\user\user_permission.php on line 368
et dans la box en face de Droits en Ècriture,
ce message d'erreur pour chaque droit :
- Code: Tout sélectionner
Warning: in_array() [function.in-array]: Wrong datatype for second argument in D:\www\ecommerce\opencart\admin\view\template\user\user_group_form.tpl on line 47 catalog/category
Je me penche dessus et j'essaye de vous donner un correctif propre
Dernière édition par snickers le 02 Sep 2010, 15:38, édité 2 fois au total.
- snickers
- Messages: 8
- Inscrit le: 01 Sep 2010, 10:34
Re: Bug édition permission
Alors si j'ai bien compris ça n'arrive que lorsque tout les droits en écriture sont vides (donc surement la même chose pour la lecture).
Il ne reçoit pas de données POST contenant comme clef 'modify', du coup lorsque dans le controlleur on essaye d'accéder à ces données, il ne trouve pas l'index 'modify' d'où l'erreur. On remplit donc :
Donc du côté du template, lorsqu'on appel la fonction :
et qu'on lui envoie $modify qui ne contient rien
il affiche alors la deuxième erreur, car on envoie à cette fonction un type invalide.
Je vais essayer de trouver une parade.
Il ne reçoit pas de données POST contenant comme clef 'modify', du coup lorsque dans le controlleur on essaye d'accéder à ces données, il ne trouve pas l'index 'modify' d'où l'erreur. On remplit donc :
- Code: Tout sélectionner
$this->data['modify']
Donc du côté du template, lorsqu'on appel la fonction :
- Code: Tout sélectionner
in_array
et qu'on lui envoie $modify qui ne contient rien
il affiche alors la deuxième erreur, car on envoie à cette fonction un type invalide.
Je vais essayer de trouver une parade.
- snickers
- Messages: 8
- Inscrit le: 01 Sep 2010, 10:34
Re: Bug édition permission
Bon j'ai trouvé !
Dans le fichier "/admin/controller/user/user_permission.php" vers la ligne 368 donc,
chercher :
à remplacer par :
Dans le fichier "/admin/controller/user/user_permission.php" vers la ligne 368 donc,
chercher :
- Code: Tout sélectionner
if (isset($this->request->post['permission'])) {
$this->data['modify'] = $this->request->post['permission']['modify'];
} elseif (isset($user_group_info['permission']['modify'])) {
$this->data['modify'] = $user_group_info['permission']['modify'];
} else {
$this->data['modify'] = array();
}
à remplacer par :
- Code: Tout sélectionner
if (isset($this->request->post['permission'])) {
if (in_array('modify', $this->request->post['permission'])) {
$this->data['modify'] = $this->request->post['permission']['modify'];
}
else {$this->data['modify'] = array();}
} elseif (isset($user_group_info['permission']['modify'])) {
$this->data['modify'] = $user_group_info['permission']['modify'];
} else {
$this->data['modify'] = array();
}
- snickers
- Messages: 8
- Inscrit le: 01 Sep 2010, 10:34
3 messages
• Page 1 sur 1
Retour vers Rapports de Problèmes
Qui est en ligne ?
Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité