From 8204319b93317a486249966449395031d4db1356 Mon Sep 17 00:00:00 2001 From: Juan Elias Rodriguez Date: Wed, 4 Aug 2021 18:54:54 -0300 Subject: [PATCH 1/5] group manager --- controllers/groups.py | 21 +++++++++++++++++++++ tests/test_c_groups.py | 29 +++++++++++++++++++++++++++++ views/groups/create_groups.html | 7 +++++++ views/groups/groups.html | 8 ++++++++ 4 files changed, 65 insertions(+) create mode 100644 controllers/groups.py create mode 100644 tests/test_c_groups.py create mode 100644 views/groups/create_groups.html create mode 100644 views/groups/groups.html diff --git a/controllers/groups.py b/controllers/groups.py new file mode 100644 index 0000000..efc40d2 --- /dev/null +++ b/controllers/groups.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# intente algo como +def groups(): + grid = SQLFORM.grid(db.auth_membership, + user_signature=False, + maxtextlength=50, + advanced_search=False, + exportclasses=myexport) + url = URL('create_groups') # Boton de descarga + text_assign = "Crear grupos" + link = (A(text_assign, _href=url, _type='button', + _class='btn btn-default')) + return dict(grid=grid, link=link) + +def create_groups(): + grid = SQLFORM.grid(db.auth_group, + user_signature=False, + maxtextlength=50, + advanced_search=False, + exportclasses=myexport) + return locals() diff --git a/tests/test_c_groups.py b/tests/test_c_groups.py new file mode 100644 index 0000000..01c80d3 --- /dev/null +++ b/tests/test_c_groups.py @@ -0,0 +1,29 @@ +def test_groups(page, login): + # Go to http://127.0.0.1:8000/OpenLex_pruebs/dashboard/view# + page.goto("http://127.0.0.1:8000/OpenLex_pruebs/dashboard/view#") + # Click text=Grupos + page.click("text=Grupos") + assert page.url.endswith("/groups/groups") + # Click text=Crear grupos + page.click("text=Crear grupos") + assert page.url.endswith("/groups/create_groups") + # Click a:has-text("Agregar") + page.click("a:has-text(\"Agregar\")") + assert page.url.endswith("http://127.0.0.1:8000/OpenLex_pruebs/groups/create_groups/new/auth_group") + # Click input[name="role"] + page.click("input[name=\"role\"]") + page.fill("input[name=\"role\"]", "Nuevo") + # Click textarea[name="description"] + page.click("textarea[name=\"description\"]") + # Fill textarea[name="description"] + page.fill("textarea[name=\"description\"]", "Grupo de prueba") + # Click text=Enviar + page.click("text=Enviar") + assert page.url.endswith("/groups/create_groups#") + # Click text=Grupos + page.click("text=Grupos") + assert page.url.endswith("/groups/groups") + # Click text=Agregar + page.click("text=Agregar") + assert page.url.endswith("/groups/groups/new/auth_membership") + diff --git a/views/groups/create_groups.html b/views/groups/create_groups.html new file mode 100644 index 0000000..dc9ee5a --- /dev/null +++ b/views/groups/create_groups.html @@ -0,0 +1,7 @@ +{{ +__author__ = "María Andrea Vignau (mavignau@gmail.com)" +__copyright__ = "(C) 2016 María Andrea Vignau. GNU GPL 3." +}} +{{extend 'layout.html'}} +

Crear grupos

+{{=grid}} diff --git a/views/groups/groups.html b/views/groups/groups.html new file mode 100644 index 0000000..cbed8e5 --- /dev/null +++ b/views/groups/groups.html @@ -0,0 +1,8 @@ +{{ +__author__ = "María Andrea Vignau (mavignau@gmail.com)" +__copyright__ = "(C) 2016 María Andrea Vignau. GNU GPL 3." +}} +{{extend 'layout.html'}} +

Grupos

+{{=grid}} +{{=link}} From b05cbe270791d5c55299e7d673f5d82b20340bc4 Mon Sep 17 00:00:00 2001 From: Juan Elias Rodriguez Date: Wed, 4 Aug 2021 19:03:02 -0300 Subject: [PATCH 2/5] tests update --- tests/test_c_groups.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/test_c_groups.py b/tests/test_c_groups.py index 01c80d3..1b0d11c 100644 --- a/tests/test_c_groups.py +++ b/tests/test_c_groups.py @@ -1,6 +1,5 @@ def test_groups(page, login): - # Go to http://127.0.0.1:8000/OpenLex_pruebs/dashboard/view# - page.goto("http://127.0.0.1:8000/OpenLex_pruebs/dashboard/view#") + page.goto("/dashboard/view#") # Click text=Grupos page.click("text=Grupos") assert page.url.endswith("/groups/groups") @@ -9,7 +8,7 @@ def test_groups(page, login): assert page.url.endswith("/groups/create_groups") # Click a:has-text("Agregar") page.click("a:has-text(\"Agregar\")") - assert page.url.endswith("http://127.0.0.1:8000/OpenLex_pruebs/groups/create_groups/new/auth_group") + assert page.url.endswith("/groups/create_groups/new/auth_group") # Click input[name="role"] page.click("input[name=\"role\"]") page.fill("input[name=\"role\"]", "Nuevo") From ae6e32dfff742111db9a2edbc1601c337cebb11f Mon Sep 17 00:00:00 2001 From: Juan Elias Rodriguez Date: Sun, 8 Aug 2021 20:15:18 -0300 Subject: [PATCH 3/5] control of changes in the expedients --- controllers/groups.py | 48 ++++++++++++++++++++++++++++++++++++++- views/groups/control.html | 7 ++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 views/groups/control.html diff --git a/controllers/groups.py b/controllers/groups.py index efc40d2..65cb22d 100644 --- a/controllers/groups.py +++ b/controllers/groups.py @@ -6,10 +6,14 @@ def groups(): maxtextlength=50, advanced_search=False, exportclasses=myexport) - url = URL('create_groups') # Boton de descarga + url = URL('create_groups') text_assign = "Crear grupos" link = (A(text_assign, _href=url, _type='button', _class='btn btn-default')) + url = URL('control') + text_assign = "Control de cambios" + link.append(A(text_assign, _href=url, _type='button', + _class='btn btn-default')) return dict(grid=grid, link=link) def create_groups(): @@ -19,3 +23,45 @@ def create_groups(): advanced_search=False, exportclasses=myexport) return locals() + + +def control(): + """url = URL('create_groups') + text_assign = "admin" + link = (A(text_assign, _href=url, _type='button', + _class='btn btn-default')) + groups_row = db(db.auth_group).select() + for group_single in groups_row: + + url = URL('control_groups') + text_assign = group_single.role + link.append(A(text_assign, _href=url, _type='button', + _class='btn btn-default')) + save_name_group(text_assign)""" + db.expediente.modified_by.readable = True + db.expediente.modified_on.readable = True + db.expediente.writable = False + grid = SQLFORM.smartgrid( + db.expediente, + fields=[ + db.expediente.numero, + db.expediente.modified_on, + db.expediente.modified_by + ], + linked_tables=False, + buttons_placement='right', + exportclasses=myexport, + advanced_search=False, + maxtextlength=100, + editable = False, + deletable= False, + create=False, + orderby=db.expediente.modified_on, + paginate=25,) + + return dict(grid=grid) + + + +def control_groups(): + pass diff --git a/views/groups/control.html b/views/groups/control.html new file mode 100644 index 0000000..74c5f08 --- /dev/null +++ b/views/groups/control.html @@ -0,0 +1,7 @@ +{{ +__author__ = "María Andrea Vignau (mavignau@gmail.com)" +__copyright__ = "(C) 2016 María Andrea Vignau. GNU GPL 3." +}} +{{extend 'layout.html'}} +

Expedientes modificados

+{{=grid}} From 9586f8f8b2f51e6e7640237c4f1289fb9af50779 Mon Sep 17 00:00:00 2001 From: Juan Elias Rodriguez Date: Sun, 8 Aug 2021 20:21:31 -0300 Subject: [PATCH 4/5] clean comments --- controllers/groups.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/controllers/groups.py b/controllers/groups.py index 65cb22d..159a386 100644 --- a/controllers/groups.py +++ b/controllers/groups.py @@ -26,18 +26,6 @@ def create_groups(): def control(): - """url = URL('create_groups') - text_assign = "admin" - link = (A(text_assign, _href=url, _type='button', - _class='btn btn-default')) - groups_row = db(db.auth_group).select() - for group_single in groups_row: - - url = URL('control_groups') - text_assign = group_single.role - link.append(A(text_assign, _href=url, _type='button', - _class='btn btn-default')) - save_name_group(text_assign)""" db.expediente.modified_by.readable = True db.expediente.modified_on.readable = True db.expediente.writable = False From 0a0d060f6708a0690a68cbdd648bfcc829e5d3fa Mon Sep 17 00:00:00 2001 From: Juan Elias Rodriguez Date: Mon, 16 Aug 2021 16:43:17 -0300 Subject: [PATCH 5/5] Fix test, forget change and controller --- controllers/dashboard.py | 9 ++++++++- models/menu.py | 1 + tests/test_c_groups.py | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/controllers/dashboard.py b/controllers/dashboard.py index bc1c6b4..f71ec24 100644 --- a/controllers/dashboard.py +++ b/controllers/dashboard.py @@ -85,6 +85,13 @@ def view(): if auth.has_membership(user_id=auth.user.id, role='admin'): modules.append({'url': URL('other_tables', 'juzgados'), 'img': 'juzgados.png', 'alt': T('Oficinas judiciales')}) - + admin = db.auth_group.role.validate('admin') + if None in admin: + auto_assign_role_admin() return locals() + +def auto_assign_role_admin(): + id_grupo = auth.add_group('admin', 'administrador de la aplicacion') + auth.add_membership(id_grupo) + db.commit() diff --git a/models/menu.py b/models/menu.py index 064e6fd..690123c 100644 --- a/models/menu.py +++ b/models/menu.py @@ -55,6 +55,7 @@ (T('Juzgados'), False, URL('other_tables', 'juzgados')), ] if auth.has_membership(user_id=auth.user.id, role='admin'): + response.menu.append((T('Grupos'), False, URL('groups', 'groups'))) response.menu.append((T('Tablas'), False, '#', [ (T('Tipos de proceso'), False, URL('other_tables', 'tipoproceso')), (T('Instancias'), False, URL('other_tables', 'instancias')), diff --git a/tests/test_c_groups.py b/tests/test_c_groups.py index 1b0d11c..03f8c1e 100644 --- a/tests/test_c_groups.py +++ b/tests/test_c_groups.py @@ -1,5 +1,7 @@ def test_groups(page, login): - page.goto("/dashboard/view#") + page.click("text=Bienvenido") + page.click("text=Inicio") + page.click("text=Bienvenido") # Click text=Grupos page.click("text=Grupos") assert page.url.endswith("/groups/groups")