Ir al contenido
Odoo Menú
  • Identificarse
  • Pruébalo gratis
  • Aplicaciones
    Finanzas
    • Contabilidad
    • Facturación
    • Gastos
    • Hoja de cálculo (BI)
    • Documentos
    • Firma electrónica
    Ventas
    • CRM
    • Ventas
    • TPV para tiendas
    • TPV para restaurantes
    • Suscripciones
    • Alquiler
    Sitios web
    • Creador de sitios web
    • Comercio electrónico
    • Blog
    • Foro
    • Chat en directo
    • eLearning
    Cadena de suministro
    • Inventario
    • Fabricación
    • PLM
    • Compra
    • Mantenimiento
    • Calidad
    Recursos Humanos
    • Empleados
    • Reclutamiento
    • Ausencias
    • Evaluación
    • Referencias
    • Flota
    Marketing
    • Marketing social
    • Marketing por correo electrónico
    • Marketing por SMS
    • Eventos
    • Automatización de marketing
    • Encuestas
    Servicios
    • Proyecto
    • Partes de horas
    • Servicio de campo
    • Servicio de asistencia
    • Planificación
    • Citas
    Productividad
    • Conversaciones
    • Aprobaciones
    • IoT
    • VoIP
    • Información
    • WhatsApp
    Aplicaciones de terceros Studio de Odoo Plataforma de Odoo Cloud
  • Industrias
    Comercio al por menor
    • Librería
    • Tienda de ropa
    • Tienda de muebles
    • Tienda de ultramarinos
    • Ferretería
    • Juguetería
    Alimentación y hostelería
    • Bar y taberna
    • Restaurante
    • Comida rápida
    • Casa de huéspedes
    • Distribuidor de bebidas
    • Hotel
    Inmueble
    • Agencia inmobiliaria
    • Estudio de arquitectura
    • Construcción
    • Gestión inmobiliaria
    • Jardinería
    • Asociación de propietarios
    Consultoría
    • Empresa contable
    • Partner de Odoo
    • Agencia de marketing
    • Bufete de abogados
    • Adquisición de talentos
    • Auditorías y certificaciones
    Fabricación
    • Textil
    • Metal
    • Muebles
    • Alimentos
    • Brewery
    • Regalos de empresas
    Salud y bienestar
    • Club deportivo
    • Óptica
    • Gimnasio
    • Terapeutas
    • Farmacia
    • Peluquería
    Oficios
    • Handyman
    • Hardware y asistencia informática
    • Sistemas de energía solar
    • Zapatero
    • Servicios de limpieza
    • Servicios de calefacción, ventilación y aire acondicionado
    Otros
    • Organización sin ánimo de lucro
    • Agencia de protección del medio ambiente
    • Alquiler de paneles publicitarios
    • Estudio fotográfico
    • Alquiler de bicicletas
    • Distribuidor de software
    Browse all Industries
  • Comunidad
    Aprender
    • Tutoriales
    • Documentación
    • Certificaciones
    • Formación
    • Blog
    • Podcast
    Potenciar la educación
    • Programa de formación
    • Scale Up! El juego empresarial
    • Visita Odoo
    Obtener el software
    • Descargar
    • Comparar ediciones
    • Versiones
    Colaborar
    • GitHub
    • Foro
    • Eventos
    • Traducciones
    • Convertirse en partner
    • Services for Partners
    • Registrar tu empresa contable
    Obtener servicios
    • Encontrar un partner
    • Encontrar un asesor fiscal
    • Contacta con un experto
    • Servicios de implementación
    • Referencias de clientes
    • Ayuda
    • Actualizaciones
    GitHub YouTube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Solicitar una demostración
  • Precios
  • Ayuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Contabilidad
  • Inventario
  • PoS
  • Proyecto
  • MRP
All apps
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Ayuda

Get current user role

Suscribirse

Reciba una notificación cuando haya actividad en esta publicación

Se marcó esta pregunta
viewsuserrolesodoo-8
1 Responder
11298 Vistas
Avatar
Alejandro Perez Cosio

Hello all,

How to get the current logged user and roles at the xml view?

Best regards
Alejandro

1
Avatar
Descartar
Avatar
Ivan
Mejor respuesta

If by XML view you mean is the view definition in XML, you can use the variable user in domain to get the logged user.  user.group_ids will contain the groups that the user belongs to.

0
Avatar
Descartar
Alejandro Perez Cosio
Autor

Hello Ivan, I would want to get the current user roles in a tree view, so, is it possible to show the groups in a tree field? Something like: ...

Alejandro Perez Cosio
Autor
...
Alejandro Perez Cosio
Autor

"..."

Alejandro Perez Cosio
Autor

(Sorry, it seems I cannot put symbols for major and minor than) [field name="user.group_ids"] [tree] ... [/tree] [/field]

Ivan

Well, no you can't. You can create a function field for that. However, I am quite confused why you want to do that, because usually you don't want (other) user to know what access they have. Also, groups can inherit from other groups, you many need to handle that as well.

Ivan

More on the function field. One of the argument is uid (or user) which is the logged in user. You can browse that ID and then get the group_ids from the browse object.

Alejandro Perez Cosio
Autor

Well, I need the list of roles to make a field invisible for just one role. If the current user has that role he shouldn't be able to see some field. But if the user has also a manager role, he should be able to see that field. E.g: If some user has the role point_of_sale.group_pos_user isn't able to see procurement tab, but if he ALSO has the role purchase.group_purchase_manager, he can see that field.

Ivan

Wouldn't it be easier to create one group, give the access to that group, and let every other groups but the one that you want to make the field invisible inherit from this group? Implementing negative access is more tricky than positive access. Say, if the user belong to that role and also other roles, does it mean that the field is invisible to the user or not?

Ivan

And why don't you just give the access to the purchase.group_purchase_manager instead of making it invisible for point_of_sale.group_pos_user?

Alejandro Perez Cosio
Autor

I would want to do so, but I need that group_purchase_manager OR group_sale_manager OR group_pos_manager OR group_warehouse_manager roles will be able to see that field. As you can see, there are 4 different users (each one with one of these roles) which will be able to see that field, but group_sales_ user OR group_pos_user will not. I couldn't set the groups attribute for the field to allow those roles with an "OR" for each of them, it will show the field if the user has all those roles I described below. So that's why I want to set an "invisible rule" for only some groups.

Ivan

You should be able to set multiple groups for the fields and it will operate under OR operator, like: <field="name" groups="purchase.group_purchase_manager,sale.group_sale_manager,point_of_sales.group_pos_manager,stock.group_warehouse_manager">. Note that the groups need to have a full XML ID (including their module name).

Alejandro Perez Cosio
Autor

Thank you Ivan, but I come to try that, with the same groups you put below, and it only shows me the field 'name' if I assign the role sale.group_sale_manager for the user. The groups list is not working under OR operator.. I think it's only taking the first group as argument. Do you think something like this could work?:

Alejandro Perez Cosio
Autor

<field="name" attrs="{'invisible':[|(purchase.group_purchase_manager,sale.group_sale_manager,point_of_sales.group_pos_manager,stock.group_warehouse_manager}">

Alejandro Perez Cosio
Autor

oh, sorry, it should be something more like this: <field="name" attrs="{'invisible':[(point_of_sales.group_pos_user), '&', '!', (purchase.group_purchase_manager,sale.group_sale_manager,point_of_sales.group_pos_manager,stock.group_warehouse_manager)}"> I will try this, but I think it will not work since those objects are not part of the model. if I could use the domain with something like 'invisible': [(uid.groups, 'in', 'point_of_sale.group_pos_user, .....')] and so on, it would be the best for me.. That's why I need the user roles at my view..

Ivan

point_of_sale.group_pos_user, etc are XML IDs you cannot use it directly using 'in' comparison operator. It need to be translated to database ID first - something that I don't know how to do within attrs. On the groups attribute, we have been using that to control the access to the field. Not sure what prevented your instance from doing so (also sale.group_sale_manager is not the first group in the list that I've given for example). Another trick that you can try is to create a new group, give the access to this field to that new group, and let purchase.group_purchase_manager, sale.group_sale_manager, point_of_sales.group_pos_manager, stock.group_warehouse_manager groups inherits from this new group.

¿Le interesa esta conversación? ¡Participe en ella!

Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.

Inscribirse
Publicaciones relacionadas Respuestas Vistas Actividad
User can`t accses his own profile
views user employee accessrules accessrights
Avatar
Avatar
Avatar
Avatar
3
feb 23
5866
Open form with current user record Resuelto
partner views form user current
Avatar
Avatar
2
sept 21
10736
How do I achieve that users can only see and edit their own attendance? Resuelto
views user attendance rules permissions
Avatar
Avatar
2
may 19
6396
Odoo version 10: Is it possible to allow users to see sales report of specific shop only?
creation user multicompany roles 10
Avatar
Avatar
1
feb 18
4901
How to hide the search view for a user group?
views user search hide group
Avatar
0
may 15
6163
Comunidad
  • Tutoriales
  • Documentación
  • Foro
Código abierto
  • Descargar
  • GitHub
  • Runbot
  • Traducciones
Servicios
  • Alojamiento Odoo.sh
  • Ayuda
  • Actualizar
  • Desarrollos personalizados
  • Educación
  • Encontrar un asesor fiscal
  • Encontrar un partner
  • Convertirse en partner
Sobre nosotros
  • Nuestra empresa
  • Activos de marca
  • Contacta con nosotros
  • Puestos de trabajo
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Información legal • Privacidad
  • Seguridad
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo es un conjunto de aplicaciones de código abierto que cubren todas las necesidades de tu empresa: CRM, comercio electrónico, contabilidad, inventario, punto de venta, gestión de proyectos, etc.

La propuesta única de valor de Odoo es ser muy fácil de usar y totalmente integrado.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now