first commit
This commit is contained in:
2
modules/user_role/__init__.py
Normal file
2
modules/user_role/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
BIN
modules/user_role/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
modules/user_role/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/user_role/__pycache__/ir.cpython-311.pyc
Normal file
BIN
modules/user_role/__pycache__/ir.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/user_role/__pycache__/res.cpython-311.pyc
Normal file
BIN
modules/user_role/__pycache__/res.cpython-311.pyc
Normal file
Binary file not shown.
13
modules/user_role/ir.py
Normal file
13
modules/user_role/ir.py
Normal file
@@ -0,0 +1,13 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
|
||||
class Cron(metaclass=PoolMeta):
|
||||
__name__ = 'ir.cron'
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.method.selection.append(
|
||||
('res.user|sync_roles', "Synchronize Users Roles"))
|
||||
79
modules/user_role/locale/bg.po
Normal file
79
modules/user_role/locale/bg.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
79
modules/user_role/locale/ca.po
Normal file
79
modules/user_role/locale/ca.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Grups"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Usuaris"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Grup"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Rols"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Des de la data"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Fins a la data"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Usuari"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rols"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rols"
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Rol - Grup"
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Rol d'usuari"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Sincronitza rols d'usuari"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr "Permisos d'accés"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Hora"
|
||||
79
modules/user_role/locale/cs.po
Normal file
79
modules/user_role/locale/cs.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
79
modules/user_role/locale/de.po
Normal file
79
modules/user_role/locale/de.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Gruppen"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rolle"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Von Datum"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rolle"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Bis Datum"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Rolle"
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Rolle - Gruppe"
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Benutzerrolle"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Benutzerrollen synchronisieren"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr "Zugriffsberechtigungen"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr "Mitglieder"
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Uhrzeit"
|
||||
79
modules/user_role/locale/es.po
Normal file
79
modules/user_role/locale/es.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Grupos"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Usuarios"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Grupo"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Desde la fecha"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Hasta la fecha"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Roles"
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Rol - Grupo"
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Rol de usuario"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Sincronizar roles de usuario"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr "Permisos de acceso"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr "Miembros"
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Hora"
|
||||
79
modules/user_role/locale/es_419.po
Normal file
79
modules/user_role/locale/es_419.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
83
modules/user_role/locale/et.po
Normal file
83
modules/user_role/locale/et.po
Normal file
@@ -0,0 +1,83 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Grupid"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Kasutaja"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Grupp"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Roll"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Rollid"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Kuupäevast"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Roll"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Kuupäevani"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Kasutaja"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rollid"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rollid"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Roll"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Roll - Grupp"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Kasutajaroll"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Sünkroniseeri kasutajarollid"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
84
modules/user_role/locale/fa.po
Normal file
84
modules/user_role/locale/fa.po
Normal file
@@ -0,0 +1,84 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "گروه ها"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "کاربر"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "گروه"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "نقش، وظیفه"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "نقش ها، وظایف"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "از تاریخ"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "نقش، وظیفه"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "تا تاریخ"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "کاربر"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "نقش ها، وظایف"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "نقش ها، وظایف"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "نقش، وظیفه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "گروه - نقش، وظیفه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "نقش کاربر"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "هماهنگ سازی نقش های کاربران"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
79
modules/user_role/locale/fi.po
Normal file
79
modules/user_role/locale/fi.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
79
modules/user_role/locale/fr.po
Normal file
79
modules/user_role/locale/fr.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Groupes"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Utilisateurs"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Groupe"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Rôles"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Date de début"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Date de fin"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rôles"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rôles"
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Rôle - Groupe"
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Rôle de l'utilisateur"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Synchroniser les utilisateurs et rôles"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr "Permissions d'accès"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Heure"
|
||||
79
modules/user_role/locale/hu.po
Normal file
79
modules/user_role/locale/hu.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
81
modules/user_role/locale/id.po
Normal file
81
modules/user_role/locale/id.po
Normal file
@@ -0,0 +1,81 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Pengguna"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Kelompok"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Dari Tanggal"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Ke Tanggal"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Pengguna"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Pengguna"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
83
modules/user_role/locale/it.po
Normal file
83
modules/user_role/locale/it.po
Normal file
@@ -0,0 +1,83 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Gruppi"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Utente"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Gruppo"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Ruolo"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Ruoli"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Dalla data"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Ruolo"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "A data"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Utente"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Ruoli"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Ruoli"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Ruolo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Ruolo - Gruppo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Ruolo utente"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Sincronizza ruoli utenti"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Orario"
|
||||
79
modules/user_role/locale/lo.po
Normal file
79
modules/user_role/locale/lo.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
82
modules/user_role/locale/lt.po
Normal file
82
modules/user_role/locale/lt.po
Normal file
@@ -0,0 +1,82 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Naudotojas"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Naudotojas"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Naudotojo vaidmenys"
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Naudotojo vaidmenys"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
79
modules/user_role/locale/nl.po
Normal file
79
modules/user_role/locale/nl.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Groepen"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Gebruikers"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Groep"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Vanaf datum"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Tot datum"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Rollen"
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Rol"
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Rol - Groep"
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Gebruikersrol"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Gebruikersrollen synchroniseren"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr "Toegangsrechten"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr "Leden"
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Tijd"
|
||||
83
modules/user_role/locale/pl.po
Normal file
83
modules/user_role/locale/pl.po
Normal file
@@ -0,0 +1,83 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Grupy"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Użytkownik"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Grupa"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rola"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Role"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Od"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Rola"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Do"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Użytkownik"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Role"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Role"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Rola"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Rola - Grupa"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Rola użytkownika"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Synchronizuj role użytkowników"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
80
modules/user_role/locale/pt.po
Normal file
80
modules/user_role/locale/pt.po
Normal file
@@ -0,0 +1,80 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Grupos"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Usuário"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Grupo"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Função"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Funções"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "A Partir da Data"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Função"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Até a Data"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Usuário"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Funções"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Funções"
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Função"
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Função - Grupo"
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Função do Usuário"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Sincronizar Funções de Usuários"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Tempo"
|
||||
79
modules/user_role/locale/ro.po
Normal file
79
modules/user_role/locale/ro.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Grupuri"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
79
modules/user_role/locale/ru.po
Normal file
79
modules/user_role/locale/ru.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
83
modules/user_role/locale/sl.po
Normal file
83
modules/user_role/locale/sl.po
Normal file
@@ -0,0 +1,83 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "Skupine"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "Uporabnik"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "Skupina"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "Vloga"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "Vloge"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "Od datuma"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "Vloga"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "Do datuma"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "Uporabnik"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Vloge"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "Vloge"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "Vloga"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "Vloga - Skupina"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "Vloga uporabnika"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "Sinhroniziraj vloge uporabnikov"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr "Čas"
|
||||
79
modules/user_role/locale/tr.po
Normal file
79
modules/user_role/locale/tr.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
79
modules/user_role/locale/uk.po
Normal file
79
modules/user_role/locale/uk.po
Normal file
@@ -0,0 +1,79 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
83
modules/user_role/locale/zh_CN.po
Normal file
83
modules/user_role/locale/zh_CN.po
Normal file
@@ -0,0 +1,83 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:res.role,groups:"
|
||||
msgid "Groups"
|
||||
msgstr "组"
|
||||
|
||||
msgctxt "field:res.role,name:"
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:res.role,users:"
|
||||
msgid "Users"
|
||||
msgstr "用户"
|
||||
|
||||
msgctxt "field:res.role-res.group,group:"
|
||||
msgid "Group"
|
||||
msgstr "组"
|
||||
|
||||
msgctxt "field:res.role-res.group,role:"
|
||||
msgid "Role"
|
||||
msgstr "角色"
|
||||
|
||||
msgctxt "field:res.user,roles:"
|
||||
msgid "Roles"
|
||||
msgstr "角色"
|
||||
|
||||
msgctxt "field:res.user.role,from_date:"
|
||||
msgid "From Date"
|
||||
msgstr "从日期"
|
||||
|
||||
msgctxt "field:res.user.role,role:"
|
||||
msgid "Role"
|
||||
msgstr "角色"
|
||||
|
||||
msgctxt "field:res.user.role,to_date:"
|
||||
msgid "To Date"
|
||||
msgstr "到日期"
|
||||
|
||||
msgctxt "field:res.user.role,user:"
|
||||
msgid "User"
|
||||
msgstr "用户"
|
||||
|
||||
msgctxt "model:ir.action,name:act_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "角色"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_role_form"
|
||||
msgid "Roles"
|
||||
msgstr "角色"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role,string:"
|
||||
msgid "Role"
|
||||
msgstr "角色"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.role-res.group,string:"
|
||||
msgid "Role - Group"
|
||||
msgstr "角色-组"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:res.user.role,string:"
|
||||
msgid "User Role"
|
||||
msgstr "用户角色"
|
||||
|
||||
msgctxt "selection:ir.cron,method:"
|
||||
msgid "Synchronize Users Roles"
|
||||
msgstr "同步用户角色"
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Access Permissions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.role:"
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:res.user.role:"
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
123
modules/user_role/res.py
Normal file
123
modules/user_role/res.py
Normal file
@@ -0,0 +1,123 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
import datetime as dt
|
||||
|
||||
from trytond.model import ModelSQL, ModelView, fields
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Bool, Eval, If
|
||||
|
||||
|
||||
class Role(ModelSQL, ModelView):
|
||||
__name__ = 'res.role'
|
||||
name = fields.Char("Name", required=True, translate=True)
|
||||
groups = fields.Many2Many('res.role-res.group', 'role', 'group', "Groups")
|
||||
users = fields.One2Many('res.user.role', 'role', "Users")
|
||||
|
||||
@classmethod
|
||||
def on_modification(cls, mode, roles, field_names=None):
|
||||
pool = Pool()
|
||||
User = pool.get('res.user')
|
||||
super().on_modification(mode, roles, field_names=field_names)
|
||||
if mode == 'write':
|
||||
users = {u.user for r in roles for u in r.users}
|
||||
User.sync_roles(User.browse(users))
|
||||
|
||||
@classmethod
|
||||
def on_delete(cls, roles):
|
||||
pool = Pool()
|
||||
User = pool.get('res.user')
|
||||
callback = super().on_delete(roles)
|
||||
if users := {u.user for r in roles for u in r.users}:
|
||||
callback.append(lambda: User.sync_roles(
|
||||
User.browse(users), clear=True))
|
||||
return callback
|
||||
|
||||
@classmethod
|
||||
def copy(cls, roles, default=None):
|
||||
default = default.copy() if default is not None else {}
|
||||
default.setdefault('users')
|
||||
return super().copy(roles, default=default)
|
||||
|
||||
|
||||
class RoleGroup(ModelSQL):
|
||||
__name__ = 'res.role-res.group'
|
||||
role = fields.Many2One(
|
||||
'res.role', "Role", ondelete='CASCADE', required=True)
|
||||
group = fields.Many2One(
|
||||
'res.group', "Group", ondelete='CASCADE', required=True)
|
||||
|
||||
|
||||
class User(metaclass=PoolMeta):
|
||||
__name__ = 'res.user'
|
||||
roles = fields.One2Many('res.user.role', 'user', "Roles")
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
group_readonly = Bool(Eval('roles', []))
|
||||
if 'readonly' in cls.groups.states:
|
||||
group_readonly |= cls.groups.states['readonly']
|
||||
cls.groups.states['readonly'] = group_readonly
|
||||
|
||||
cls._context_fields.append('roles')
|
||||
|
||||
@classmethod
|
||||
def on_modification(cls, mode, users, field_names=None):
|
||||
super().on_modification(mode, users, field_names=field_names)
|
||||
if mode in {'create', 'write'}:
|
||||
cls.sync_roles(users)
|
||||
|
||||
@classmethod
|
||||
def sync_roles(cls, users=None, date=None, clear=False):
|
||||
if date is None:
|
||||
date = dt.datetime.now()
|
||||
if users is None:
|
||||
users = cls.search([])
|
||||
to_write = []
|
||||
for user in users:
|
||||
if not user.roles and not clear:
|
||||
continue
|
||||
new = {g.id for r in user.roles for g in r.role.groups
|
||||
if r.valid(date)}
|
||||
old = {g.id for g in user.groups}
|
||||
if new != old:
|
||||
to_write.append([user])
|
||||
to_write.append({'groups': [
|
||||
('add', new - old),
|
||||
('remove', old - new),
|
||||
]})
|
||||
if to_write:
|
||||
cls.write(*to_write)
|
||||
|
||||
|
||||
class UserRole(ModelSQL, ModelView):
|
||||
__name__ = 'res.user.role'
|
||||
user = fields.Many2One(
|
||||
'res.user', "User", ondelete='CASCADE', required=True)
|
||||
role = fields.Many2One(
|
||||
'res.role', "Role", ondelete='CASCADE', required=True)
|
||||
from_date = fields.DateTime(
|
||||
"From Date",
|
||||
domain=[
|
||||
If(Eval('from_date') & Eval('to_date'),
|
||||
('from_date', '<=', Eval('to_date', None)),
|
||||
()),
|
||||
])
|
||||
to_date = fields.DateTime(
|
||||
"To Date",
|
||||
domain=[
|
||||
If(Eval('from_date') & Eval('to_date'),
|
||||
('to_date', '>=', Eval('from_date', None)),
|
||||
()),
|
||||
])
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('from_date', 'DESC NULLS FIRST'))
|
||||
cls._order.insert(1, ('to_date', 'ASC NULLS FIRST'))
|
||||
|
||||
def valid(self, date):
|
||||
from_date = self.from_date or dt.datetime.min
|
||||
to_date = self.to_date or dt.datetime.max
|
||||
return from_date <= date <= to_date
|
||||
95
modules/user_role/res.xml
Normal file
95
modules/user_role/res.xml
Normal file
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="role_view_form">
|
||||
<field name="model">res.role</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">role_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="role_view_list">
|
||||
<field name="model">res.role</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">role_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_role_form">
|
||||
<field name="name">Roles</field>
|
||||
<field name="res_model">res.role</field>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_role_form_view1">
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="view" ref="role_view_list"/>
|
||||
<field name="act_window" ref="act_role_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_role_form_view2">
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="view" ref="role_view_form"/>
|
||||
<field name="act_window" ref="act_role_form"/>
|
||||
</record>
|
||||
<menuitem
|
||||
parent="res.menu_res"
|
||||
action="act_role_form"
|
||||
sequence="50"
|
||||
id="menu_role_form"/>
|
||||
|
||||
<record model="ir.model.access" id="access_role">
|
||||
<field name="model">res.role</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_role_admin">
|
||||
<field name="model">res.role</field>
|
||||
<field name="group" ref="res.group_admin"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="user_view_form">
|
||||
<field name="model">res.user</field>
|
||||
<field name="inherit" ref="res.user_view_form"/>
|
||||
<field name="name">user_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="user_role_form">
|
||||
<field name="model">res.user.role</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">user_role_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="user_role_list">
|
||||
<field name="model">res.user.role</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">user_role_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.access" id="access_user_role">
|
||||
<field name="model">res.user.role</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_user_role_admin">
|
||||
<field name="model">res.user.role</field>
|
||||
<field name="group" ref="res.group_admin"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
<data noupdate="1">
|
||||
<record model="ir.cron" id="cron_sync_roles">
|
||||
<field name="method">res.user|sync_roles</field>
|
||||
<field name="interval_number" eval="1"/>
|
||||
<field name="interval_type">days</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
2
modules/user_role/tests/__init__.py
Normal file
2
modules/user_role/tests/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
BIN
modules/user_role/tests/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
modules/user_role/tests/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/user_role/tests/__pycache__/test_module.cpython-311.pyc
Normal file
BIN
modules/user_role/tests/__pycache__/test_module.cpython-311.pyc
Normal file
Binary file not shown.
Binary file not shown.
96
modules/user_role/tests/scenario_user_role.rst
Normal file
96
modules/user_role/tests/scenario_user_role.rst
Normal file
@@ -0,0 +1,96 @@
|
||||
==================
|
||||
User Role Scenario
|
||||
==================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> import datetime as dt
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('user_role')
|
||||
|
||||
Create some groups::
|
||||
|
||||
>>> Group = Model.get('res.group')
|
||||
>>> groups = [Group(name="Group %s" % i) for i in range(5)]
|
||||
>>> Group.save(groups)
|
||||
|
||||
Create a role::
|
||||
|
||||
>>> Role = Model.get('res.role')
|
||||
>>> role = Role(name="Role")
|
||||
>>> role.groups.append(Group(groups[0].id))
|
||||
>>> role.groups.append(Group(groups[1].id))
|
||||
>>> role.save()
|
||||
|
||||
Create a user with some groups::
|
||||
|
||||
>>> User = Model.get('res.user')
|
||||
>>> user = User(login="user")
|
||||
>>> user.groups.append(Group(groups[1].id))
|
||||
>>> user.groups.append(Group(groups[2].id))
|
||||
>>> user.groups.append(Group(groups[3].id))
|
||||
>>> user.save()
|
||||
>>> len(user.groups)
|
||||
3
|
||||
|
||||
Set the role to the user::
|
||||
|
||||
>>> user_role = user.roles.new()
|
||||
>>> user_role.role = role
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
2
|
||||
>>> assertEqual(user.groups, [groups[0], groups[1]])
|
||||
|
||||
Start the role in the future::
|
||||
|
||||
>>> user_role, = user.roles
|
||||
>>> user_role.from_date = dt.datetime.now() + dt.timedelta(days=1)
|
||||
>>> user_role.to_date = None
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
0
|
||||
|
||||
End the role in the past::
|
||||
|
||||
>>> user_role, = user.roles
|
||||
>>> user_role.from_date = None
|
||||
>>> user_role.to_date = dt.datetime.now() - dt.timedelta(days=1)
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
0
|
||||
|
||||
Start the role in the past and end in the future::
|
||||
|
||||
>>> user_role, = user.roles
|
||||
>>> user_role.from_date = dt.datetime.now() - dt.timedelta(days=1)
|
||||
>>> user_role.to_date = dt.datetime.now() + dt.timedelta(days=1)
|
||||
>>> user.save()
|
||||
|
||||
>>> len(user.groups)
|
||||
2
|
||||
|
||||
Changing groups to role::
|
||||
|
||||
>>> role.groups.append(Group(groups[4].id))
|
||||
>>> role.save()
|
||||
|
||||
>>> user.reload()
|
||||
>>> len(user.groups)
|
||||
3
|
||||
|
||||
Deleting role::
|
||||
|
||||
>>> role.delete()
|
||||
|
||||
>>> user.reload()
|
||||
>>> len(user.groups)
|
||||
0
|
||||
12
modules/user_role/tests/test_module.py
Normal file
12
modules/user_role/tests/test_module.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.tests.test_tryton import ModuleTestCase
|
||||
|
||||
|
||||
class UserRoleTestCase(ModuleTestCase):
|
||||
'Test User Role module'
|
||||
module = 'user_role'
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
8
modules/user_role/tests/test_scenario.py
Normal file
8
modules/user_role/tests/test_scenario.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.tests.test_tryton import load_doc_tests
|
||||
|
||||
|
||||
def load_tests(*args, **kwargs):
|
||||
return load_doc_tests(__name__, __file__, *args, **kwargs)
|
||||
15
modules/user_role/tryton.cfg
Normal file
15
modules/user_role/tryton.cfg
Normal file
@@ -0,0 +1,15 @@
|
||||
[tryton]
|
||||
version=7.8.0
|
||||
depends:
|
||||
ir
|
||||
res
|
||||
xml:
|
||||
res.xml
|
||||
|
||||
[register]
|
||||
model:
|
||||
ir.Cron
|
||||
res.Role
|
||||
res.RoleGroup
|
||||
res.User
|
||||
res.UserRole
|
||||
16
modules/user_role/view/role_form.xml
Normal file
16
modules/user_role/view/role_form.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form>
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
|
||||
<notebook colspan="4">
|
||||
<page string="Members" col="2" id="members">
|
||||
<field name="users" colspan="2"/>
|
||||
</page>
|
||||
<page string="Access Permissions" col="1" id="permissions">
|
||||
<field name="groups"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
6
modules/user_role/view/role_list.xml
Normal file
6
modules/user_role/view/role_list.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="name" expand="1"/>
|
||||
</tree>
|
||||
8
modules/user_role/view/user_form.xml
Normal file
8
modules/user_role/view/user_form.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<data>
|
||||
<xpath expr="//field[@name='groups']" position="before">
|
||||
<field name="roles"/>
|
||||
</xpath>
|
||||
</data>
|
||||
13
modules/user_role/view/user_role_form.xml
Normal file
13
modules/user_role/view/user_role_form.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form>
|
||||
<label name="user"/>
|
||||
<field name="user" colspan="3"/>
|
||||
<label name="role"/>
|
||||
<field name="role" colspan="3"/>
|
||||
<label name="from_date"/>
|
||||
<field name="from_date"/>
|
||||
<label name="to_date"/>
|
||||
<field name="to_date"/>
|
||||
</form>
|
||||
11
modules/user_role/view/user_role_list.xml
Normal file
11
modules/user_role/view/user_role_list.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="user" expand="1"/>
|
||||
<field name="role" expand="1"/>
|
||||
<field name="from_date" widget="date"/>
|
||||
<field name="from_date" widget="time" string="Time"/>
|
||||
<field name="to_date" widget="date"/>
|
||||
<field name="to_date" widget="time" string="Time"/>
|
||||
</tree>
|
||||
Reference in New Issue
Block a user