Je veux seulement que la personne que j'ai affectée à la tâche de voir la tâche dans le module de projet. Je ne veux pas que les autres utilisateurs du projet voient ces tâches de personnes. P>
Cependant, tout utilisateur qui a des droits d'accès aux utilisateurs peut voir toutes les tâches même si elles ne l'ont pas été attribuées. P>
Y a-t-il un travail autour de cela? P>
5 Réponses :
Openerp / Odoo a deux types de restrictions de sécurité pouvant être affectées à un groupe d'utilisateurs: P>
Les droits d'accès et les règles d'enregistrement peuvent également être définis à l'échelle mondiale sans les assigner à un groupe spécifique, auquel cas ils s'appliquent à tout le monde. Il y a un piège pour les règles d'enregistrement: les règles globales ne peuvent être détendues par d'autres règles (exprès!), Utilisez donc avec soin. P>
Dans votre cas, il semble que vous définissez une règle d'enregistrement supplémentaire sur le groupe d'utilisateurs de projet qui limite explicitement l'accès sur les tâches de projet à vos propres tâches (et probablement celles qui ne sont pas encore attribuées). Vous devez créer une nouvelle entrée dans le menu Règles de sécurité avec ces paramètres: P>
Project.TASK CODE> LI>
- Nom:
Voir les tâches propres uniquement CODE> LI>
- Domaine:
['|', ('user_id', '=', false), ('user_id', '=', user.id)] code>
- (moyens: vos propres tâches et non assignées) li>
ul> li>
- Appliquer pour lire:
[x] code> li>
- Appliquer pour écrire:
[x] code> li>
- Appliquer pour créer:
[x] code> li>
- Appliquer pour Supprimer:
[x] code> li>
- Groupes:
Projet / Utilisateur Code> LI>
ul>
Le domaine code> d'une règle d'enregistrement est un domaine openerp / odoo standard qui est évalué sur les enregistrements sur lesquels vous essayez d'effectuer l'opération et de faire référence à un utilisateur Code> Variable contenant les données actuelles de l'utilisateur (techniquement, un Browse_Record code> sur l'utilisateur actuel). La documentation a une description de Domaine code>. P>
Si vous souhaitez autoriser les utilisateurs spéciaux (par exemple les gestionnaires de projets) pour afficher toutes les tâches du système, vous pouvez vous détendre cette règle en ajoutant une autre règle au groupe Gestionnaire de projet qui permet d'accéder à toutes les tâches. Il existe un "filtre de domaine" spécial qui signifie "permettre tout" et est utile de se détendre une autre règle plus stricte: [(1, '=', 1)] p>. P>.
Note 1 Strong>: Regardez les règles d'enregistrement existantes pour voir ce qu'ils font en premier, et assurez-vous de lire les explications sur le formulaire de règle d'enregistrement lorsque vous ajoutez le vôtre. Une chose importante à garder à l'esprit est que les règles spécifiques au groupe sont combinées à un opérateur ou code>. Donc, si vous ajoutez la règle que j'ai décrite ci-dessus, vous ne pouvez voir aucun effet de restriction, car d'autres règles spécifiques au groupe donnent toujours accès. Vous devrez peut-être les désactiver, les modifier ou modifier le groupe d'utilisateurs applicable pour obtenir l'effet exact que vous souhaitez. P>
Note 2 FORT>: N'oubliez pas que si vous faites quelque chose de mal avec les droits d'accès et les règles d'enregistrement, vous pouvez toujours corriger le désordre avec le compte admin code>, car ces restrictions de sécurité font ne s'applique pas au admin code> (de la même manière que l'utilisateur code> racine code> sur UNIX). P>
Belle réponse, Olivier, je ne connaissais pas les règles enregistrées. Je suis heureux de voir que vous deviendrez un contributeur régulier ici.
Merci pour la réponse détaillée. Cela a fonctionné pour moi [('user_id', '=', user.id)]
Voir ici pour des règles enregistrées dans XML: help.openerp.com/question/12667/...
J'ai trouvé aucun objet avec nom projet.task code>?
J'ai essayé cela dans Odoo 11 mais je n'ai pas eu de résultats. Un utilisateur qui est un suiveur d'un projet peut afficher toutes les tâches de ce projet.
@Cataclysmic: En effet, vous devez toujours envisager des règles existantes qui devront peut-être être modifiées ou désactivées pour atteindre le résultat souhaité, comme vous le décrivez dans votre réponse. J'ai ajouté une note pour avertir de cela dans le mien :)
@odony: génial. Je suppose que les conventions de nommage pour les règles changent à travers les versions de l'ODOO. Donc, ma réponse n'est valable que pour Odoo 11. J'ai également réalisé que cette règle est très stricte. Il bloque également la visualisation des utilisateurs en tant qu'avecteurs et les bloque également de voir des activités attribuées sur les tâches bloquées. Il serait préférable d'avoir une règle qui le permet toujours. Je n'ai pas compris comment, encore. Je suppose qu'une autre approche serait de faire quelque chose comme ceci: Stackoverflow.com/questions/45006235/... et bloquer tous les non-abonnements.
Remarque: Dans OpenerP 7, vous devez modifier ou désactiver la règle de défaute appelée p>
Projet / tâche: Employés: public, portail, employé ou suivant ou attribué p> blockQuote>
Pour faire fonctionner votre règle. P>
Comment modifier cela de ce type que les gestionnaires de projets devraient pouvoir voir tous sauf d'autres devraient pouvoir ne voir que leurs tâches?
Je n'ai pas pu trouver cette règle sous Odoo V11. Avez-vous une idée où elle est sur v11? Merci.
Comme déjà indiqué par @ user1534055 à Openerp 7, il est un peu différent. P>
Trouver la règle nommée Modifier et supprimer Une fois ces tâches seront visibles pour seulement ceux qui ont été attribués. P> Projet / tâche: Employés: Public, Portail, Employé ou Suivant ou attribué Code> P>
p>
("projet_id.privacy_visbilicabilité", "dans", ["Public", "Portail", "Employés"),
'&', code> de la définition de la règle et appuyez sur Enregistrer. P>
Créer une nouvelle règle de sécurité, sélectionnez l'objet comme " projet.task strong>", donnez filtre de domaine comme [("user_id", "=" user.id)] forte >. Pas besoin d'ajouter des groupes, de sorte qu'il sera global. C'est ça! P>
Mon problème était un peu plus complexe. Je voulais avoir des utilisateurs qui ne peuvent que leurs tâches assignées et certaines qui peuvent aussi voir le reste. P>
in Odoo 11 J'ai constaté que l'utilisateur de projet standard hérite Qu'est-ce que j'ai fait: p>
Créer un nouveau groupe -> Duplicate de Mise en place de la règle de Odony STRAND> Réponque -> supprimé la règle d'enregistrement Maintenant, je peux décider qui est un l'utilisateur de projet em>, qui peut voir toutes les tâches d'un projet et qui est un travailleur em>, qui ne peut voir que des tâches assignées à eux. p> employé \ employé code> qui est à son tour la règle Projet / tâche: Employés: Suivre requis pour les projets suivants (code> qui permettent aux utilisateurs de voir les autres tâches. p>
Project / Utilisateurs CODE> P> LI>
['|', ('"user_id', '=', faux), (" user_id ',' = ', user.id)] code> p> li>
Projet / Tâche: Employés: Suivre requis pour les projets suivants uniquement Code> de Employés / employés Code> et l'a ajouté à Projet / Utilisateurs CODE> P> LI>
ol>