diff --git a/controllers/expedientes.py b/controllers/expedientes.py index 9681d0f..3802bfd 100644 --- a/controllers/expedientes.py +++ b/controllers/expedientes.py @@ -12,6 +12,11 @@ CHUNK_SIZE = 4096 +def group(): + group_name=db(db.auth_group.role).select().first() + return group_name + + @auth.requires_login() def index(): 'muestra la grilla y permite la edición de los datos de los expedientes' @@ -55,7 +60,7 @@ def index(): ], constraints={ 'expediente': ( - db.expediente.created_by == auth.user.id)}, + db.expediente.created_by_group == group())}, linked_tables=LINKED_TABLES, buttons_placement='right', exportclasses=myexport, diff --git a/models/db_pydoctor.py b/models/db_pydoctor.py index c2189c4..8f90587 100644 --- a/models/db_pydoctor.py +++ b/models/db_pydoctor.py @@ -170,6 +170,14 @@ def expediente_numero(value, row): return anchor +def get_group(): + groups = auth.user_groups + if not groups: + return None + group_ids = [id for id in groups if not groups[id].startswith('user_')] + return group_ids[0] if group_ids else None + + db.define_table('expediente', Field('numero', length=40, requires=IS_NOT_IN_DB(db, 'expediente.numero'), @@ -185,6 +193,7 @@ def expediente_numero(value, row): Field('final', 'date', label=T('Fecha fin')), Field('changed_at', 'datetime', update=request.now, readable=False, writable=False), + Field('created_by_group', 'reference auth_group', default=get_group(), update=get_group(), writable=False ), auth.signature, migrate=True, format=expediente_format) diff --git a/tests/test_b_expedientes.py b/tests/test_b_expedientes.py index f0c9f27..77a4096 100644 --- a/tests/test_b_expedientes.py +++ b/tests/test_b_expedientes.py @@ -70,3 +70,15 @@ def test_expedientes(page, login): # Click text=Enviar page.click("text=Enviar") # assert page.url == "http://127.0.0.1:8020/OpenLex/expedientes/index/expediente?_signature=9738bd7a4677227cf1a6e2b1ae9a8747b990925a#" + + # Click text=Expedientes + page.click("text=Expedientes") + # assert page.url == "http://127.0.0.1:8020/OpenLex/expedientes/index" + + # Click a:has-text("Editar") + page.click("a:has-text(\"Editar\")") + # assert page.url == "http://127.0.0.1:8020/OpenLex/expedientes/index/expediente/edit/expediente/1?_signature=91f6e51c077f52497a3812868aaebf58ff7b18d4" + + # Click text=Enviar + page.click("text=Enviar") + # assert page.url == "http://127.0.0.1:8020/OpenLex/expedientes/index/expediente?_signature=9738bd7a4677227cf1a6e2b1ae9a8747b990925a#"