Skip to content

Commit 606dfe8

Browse files
authored
Merge pull request #225 from MerginMaps/develop
Release 2024.2.2
2 parents 29866f0 + ee677b8 commit 606dfe8

8 files changed

Lines changed: 19 additions & 7 deletions

File tree

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ services:
2121
networks:
2222
- merginmaps
2323
server:
24-
image: lutraconsulting/merginmaps-backend:2023.6.1
24+
image: lutraconsulting/merginmaps-backend:2024.2.2
2525
container_name: merginmaps-server
2626
restart: always
2727
user: 901:999
@@ -35,7 +35,7 @@ services:
3535
networks:
3636
- merginmaps
3737
web:
38-
image: lutraconsulting/merginmaps-frontend:2023.6.1
38+
image: lutraconsulting/merginmaps-frontend:2024.2.2
3939
container_name: merginmaps-web
4040
restart: always
4141
depends_on:

server/mergin/sync/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ def delete(self, removed_by: int = None):
305305
- reset project_access
306306
- decline pending project access requests
307307
"""
308+
# do nothing if the project has been already deleted
309+
if not self.storage_params:
310+
return
308311
self.name = f"{self.name}_{str(self.id)}"
309312
# make sure remove_at is not null as it is used as filter for APIs
310313
if not self.removed_at:

server/mergin/sync/private_api_controller.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ def get_project_access(id: str):
360360
)
361361
processed_ids.add(user_id)
362362
if global_role:
363-
for user in User.query.all():
363+
for user in User.query.filter_by(active=True).all():
364364
if user.id not in processed_ids:
365365
result.append(
366366
{

server/mergin/tests/test_db_hooks.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,6 @@ def test_remove_project(client, diff_project):
132132
assert ProjectAccess.query.filter_by(project_id=project_id).count()
133133
cleanup(client, [project_dir])
134134
assert access_request.status == RequestStatus.DECLINED.value
135+
136+
# try to remove the deleted project
137+
assert diff_project.delete() is None

server/mergin/tests/test_private_project_api.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,3 +515,10 @@ def test_get_project_access(client):
515515
assert sum(map(lambda x: int(x["project_permission"] == "owner"), resp.json)) == 6
516516
assert sum(map(lambda x: int(x["project_permission"] == "writer"), resp.json)) == 0
517517
assert sum(map(lambda x: int(x["project_permission"] == "reader"), resp.json)) == 0
518+
# pretend a user was deleted to test that api can handle it
519+
users[3].inactivate()
520+
users[3].anonymize()
521+
resp = client.get(url)
522+
assert resp.status_code == 200
523+
assert len(resp.json) == 5
524+
assert sum(map(lambda x: int(x["project_permission"] == "owner"), resp.json)) == 5

server/mergin/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55

66
def get_version():
7-
return "2024.2.1"
7+
return "2024.2.2"

server/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
setup(
88
name="mergin",
9-
version="2024.2.1",
9+
version="2024.2.2",
1010
url="https://github.com/MerginMaps/mergin",
1111
license="AGPL-3.0-only",
1212
author="Lutra Consulting Limited",

web-app/packages/lib/src/common/permission_utils.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,7 @@ export function getProjectRoleNameValues(): DropdownOption<ProjectRoleName>[] {
120120
{
121121
value: 'reader',
122122
label: 'Reader',
123-
description: 'Can view project files',
124-
disabled: true
123+
description: 'Can view project files'
125124
},
126125
{
127126
value: 'writer',

0 commit comments

Comments
 (0)