|
|
@ -19,8 +19,7 @@ |
|
|
|
# If not, see <http://www.gnu.org/licenses/>. |
|
|
|
# |
|
|
|
############################################################################# |
|
|
|
from odoo import fields, models, _ |
|
|
|
from odoo.exceptions import ValidationError |
|
|
|
from odoo import fields, models |
|
|
|
|
|
|
|
|
|
|
|
class ResUsers(models.Model): |
|
|
@ -31,33 +30,11 @@ class ResUsers(models.Model): |
|
|
|
check_user = fields.Boolean(string="Check", compute='_compute_check_user', |
|
|
|
help="Check the field is true or false") |
|
|
|
journal_ids = fields.Many2many( |
|
|
|
'account.journal', |
|
|
|
'account.journal', 'account_restrict_journal_journal_ids_rel', |
|
|
|
string='Restricted Journals', |
|
|
|
help='Only the selected journal will be visible' |
|
|
|
' to the particular user') |
|
|
|
|
|
|
|
def write(self, vals): |
|
|
|
""" |
|
|
|
Override the write method to restrict users with specific groups. |
|
|
|
:param vals: Dictionary of field values to update. |
|
|
|
:type vals: dict |
|
|
|
:raises: ValidationError if the current user has both |
|
|
|
'account_restrict_journal.user_allowed_journal' |
|
|
|
and 'base.group_system' groups and attempts to restrict |
|
|
|
journals of the Administrator. |
|
|
|
:return: None |
|
|
|
""" |
|
|
|
super().write(vals) |
|
|
|
if self.env.user.has_group( |
|
|
|
'account_restrict_journal.user_allowed_journal') and \ |
|
|
|
self.env.user.has_group('base.group_system'): |
|
|
|
user_groups = self.env.user.groups_id.filtered( |
|
|
|
lambda g: g.name == 'Restrict Journals') |
|
|
|
if user_groups: |
|
|
|
raise ValidationError( |
|
|
|
_("You are not allowed to restrict journals for the " |
|
|
|
"Administrator.")) |
|
|
|
|
|
|
|
def _compute_check_user(self): |
|
|
|
"""Function for viewing the page for restrict journal users.""" |
|
|
|
self.check_user = False |
|
|
|