Welcome, Guest
Username: Password: Remember me

TOPIC: tasks permissions

tasks permissions 15 Sep 2012 18:46 #3665

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
bonsoir
je rencontre une difficulté sur la gestion des droits
j'ai crée un nouveau Niveau d'accès que j'ai attribué à l'item de mon composant
j'ai attribué à ce niveau les groupes utilisateurs enregistré et Climat (qui est un nouveau groupe avec Public pour parent)
avec un utilisateur enregistré tout ce passe correctement
avec un utilisateur non enregistré qui appartient au groupe Climat les fonctions Save et Apply ne marchent pas, pas de réponse pas de message d'erreur, rien ne se passe !!??
le groupe climat à toutes autorisations dans mon composant ...

merci pour une piste
LJ
Ce sont les fils qui font les cordes
ingall-niger.org
Last Edit: 18 Sep 2012 13:39 by LJ01.
The administrator has disabled public write access.

Re: permissions 15 Sep 2012 18:51 #3666

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
idem si je me connecte avec l'admin ... en frontend
en backend tout est ok ...
Ce sont les fils qui font les cordes
ingall-niger.org
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 10:32 #3671

  • admin
  • admin's Avatar
  • Online
  • Administrator
  • Chef
  • Posts: 3711
  • Thank you received: 984
  • Karma: 140
2.0 ?

Il y a t'il une tentative ? Ou bien le bouton ne marche pas ?

Quel est l'intitule de 'task' au moment ou vous cliquez ?

Pour le savoir : Firebug > Afficher les infos des formulaires.
-> Cela affichera les champs 'hidden', dont 'task'

Au moment où vous cliquez, descendez l'ascenseur et relevez la valeur dans 'task'

Pourquoi je demande cela ?

Parce qu'avec la V2, cela fonctionne différement.
devant la task, on trouve le nom du controlleur à appeller :
ex: 'produit.add'

Cela vous guide pour savoir qu'est-ce qui est appelé, pour ensuite debugguer.

J'ai apporté une modif considérable par rapport au natif.
Le natif, mélange les opérations entre les models et controlleurs item et list.
Avec cook, votre composant traitera quasiment tout dans les controlleurs et models ITEM seulement.
C'est beaucoup plus simple pour coder ensuite, et plus lisible également.

Les seules fonctionalités possibles appelées dans les listes sont les operations de modif de valeurs (publish/unpublish/toggle/default/...)

Voilou...

Une doc, une doc .... Je sais ce que vous pensez, mais pour l'instant je n'ai pas le temps pour documenter. C'est un gros problème, mais je vais m'y atteler bientôt si tout va bien.
Coding is now a piece of cake
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 10:48 #3672

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
j'avais fais le composant avant la 2.0
je regarde avec Firebug ...
Lj
Ce sont les fils qui font les cordes
ingall-niger.org
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 11:06 #3674

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
il ya
value=""
...
Ce sont les fils qui font les cordes
ingall-niger.org
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 11:14 #3675

  • admin
  • admin's Avatar
  • Online
  • Administrator
  • Chef
  • Posts: 3711
  • Thank you received: 984
  • Karma: 140
Oui, c'est vide, mais au moment du clic ? Quelle est la valeur ?
Il faut lire vite avant la redirection...

Sinon, cette valeur est écrite dans view.html.php, au moment de l'init de la toolbar.

Vous devriez trouver çà sans problème.
Coding is now a piece of cake
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 11:25 #3678

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
// Toolbar
jimport('joomla.html.toolbar');
$bar = & JToolBar::getInstance('toolbar');
if ($access->get('core.edit') || ($isNew && $access->get('core.create') || $access->get('core.edit.own')))
$bar->appendButton( 'Standard', "save", "CLIMATPRATIC_JTOOLBAR_SAVE", "save", false);
if ($access->get('core.edit') || $access->get('core.edit.own'))
$bar->appendButton( 'Standard', "apply", "CLIMATPRATIC_JTOOLBAR_APPLY", "apply", false);
$bar->appendButton( 'Standard', "cancel", "CLIMATPRATIC_JTOOLBAR_CANCEL", "cancel", false, false );

$lists = $bar;



$config = JComponentHelper::getParams( 'com_climatpratic' );

$this->assignRef('user', JFactory::getUser());
$this->assignRef('access', $access);
$this->assignRef('lists', $lists);
$this->assignRef('climatpraticitem', $climatpraticitem);
$this->assignRef('config', $config);
$this->assignRef('isNew', $isNew);

parent::display($tpl);
Ce sont les fils qui font les cordes
ingall-niger.org
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 11:31 #3679

  • admin
  • admin's Avatar
  • Online
  • Administrator
  • Chef
  • Posts: 3711
  • Thank you received: 984
  • Karma: 140
Avez-vous apporté des modifications au composant ?

Arrivez-vous à savoir si le controlleur est bien appellé ?
La function existe-t-elle dans ce controlleur ?

Avec cette version, vous ne devriez pas avoir besoin de placer le nom du controlleur devant la task.
Vous n'avez qu'un seul controlleur par table, donc cela n'est pas compliqué à vérifier.

Si maintenant 'task' n'est pas initialisé, alors c'est un tout autre problème : JAVASCRIPT
Coding is now a piece of cake
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 12:16 #3681

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
oui j'ai apporté des modif surtout dans le chek de la table ...
en fait lors du clic il ne se passe rien donc le controller ne doit pas être appelé

le composant marche très bien avec un utilisateur enregistré et sur un site test ...
donc j'imagine plutôt que c'est un problème dans la gestion des permissions
je vais recréer ces dernières au cas ou ...
LJ
Ce sont les fils qui font les cordes
ingall-niger.org
Last Edit: 16 Sep 2012 14:05 by LJ01.
The administrator has disabled public write access.

Re: permissions 16 Sep 2012 16:28 #3685

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
j'ai recréé les accès utilisateur et groupes et du coup cela fonctionne !!
LJ
Ce sont les fils qui font les cordes
ingall-niger.org
The administrator has disabled public write access.

Re: tasks permissions 18 Sep 2012 13:44 #3737

  • LJ01
  • LJ01's Avatar
  • Offline
  • Senior Member
  • Posts: 78
  • Thank you received: 2
  • Karma: 0
dégouté je suis, je croyais mon affaire ok
mais voila que cela recommence

je joins une image de mes accès le users ne peux pas SAVE et Apply mais les boutons sont bien présents
rien ne se passe aucune URL n'est envoyé pas de mssg erreur ...


lorsque je met le groupe user au niveau de public un user peux utiliser les fonctions SAVE et Apply ...

je n'y comprend rien ... d'autant qu'un autre composant eclairage public marche très bien de la même façon

il est vrai que j'ai modifié passablement les fichiers origines ...

LJ
Ce sont les fils qui font les cordes
ingall-niger.org
Last Edit: 18 Sep 2012 13:45 by LJ01.
The administrator has disabled public write access.

Re: tasks permissions 18 Sep 2012 13:58 #3740

  • admin
  • admin's Avatar
  • Online
  • Administrator
  • Chef
  • Posts: 3711
  • Thank you received: 984
  • Karma: 140
Pour debugger, tente de dumper la variable $acl, elle contient toutes las ACL dispos.

Pour comprendre, Cook créé une abstraction au niveau des ACL.

Dans le helper, la function getActions() retourne la liste des authorisations.
Partout où le composant a besoin de connaitre les droits, il passe par ce 'péage'.
Cette abstraction est pratique pour intervenir manuellement sur les droits (bricolage, quand tu nous tiens...)
Cela permet aussi d'afficher la liste des droits de l'utilisateur courant.

Testez cela pour comprendre.

De mon humble avis, il s'agit d'un problème JS, car les ACL sont testés en PHP, seulmeent après l'envoi du POST.

Donc : JS
Tentez de désactiver la validation.

La validation est somme toute assez complexe et utilise une librairie extérieure. son intégration dans le composant peut être plus ou moins bien intégré dans cette beta.

Tous les jours je travaille à stabiliser cette nouvelle fraiche version.

J'espère que vous trouverez la solution.
N'hésitez pas à ajouter des indices.

(Erreur JS, ACL's peut-être...)
Coding is now a piece of cake
The administrator has disabled public write access.
Time to create page: 0.136 seconds

Get Started