From e4e2a01f47420e980c7ec20abb5ed99749965075 Mon Sep 17 00:00:00 2001 From: RayPlante Date: Tue, 26 Nov 2024 19:16:25 -0500 Subject: [PATCH] dbio: get owner reassignment to work with standalone midasserver --- docker/midasserver/midas-dmpdapnsd_conf.yml | 3 +++ python/nistoar/midas/dbio/project.py | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docker/midasserver/midas-dmpdapnsd_conf.yml b/docker/midasserver/midas-dmpdapnsd_conf.yml index 33ca9e5..06fdfae 100644 --- a/docker/midasserver/midas-dmpdapnsd_conf.yml +++ b/docker/midasserver/midas-dmpdapnsd_conf.yml @@ -2,6 +2,9 @@ logfile: midas.log loglevel: DEBUG dbio: factory: fsbased + people_service: + factory: mongo + db_url: "mongodb://oarop:oarop@mongodb:27017/midas" about: title: "MIDAS Authoring Services" describedBy: "http://localhost:9091/midas/docs" diff --git a/python/nistoar/midas/dbio/project.py b/python/nistoar/midas/dbio/project.py index 71cdfda..8d238ce 100644 --- a/python/nistoar/midas/dbio/project.py +++ b/python/nistoar/midas/dbio/project.py @@ -159,7 +159,8 @@ def create_record(self, name, data=None, meta=None) -> ProjectRecord: foruser = foruser[-1] if self.dbcli.user_id == ANONYMOUS: - foruser = None + # Do we need to be more careful in production by cancelling reassign request? + # foruser = None self.log.warning("A new record requested for an anonymous user") prec = self.dbcli.create_record(name, shoulder) @@ -167,6 +168,8 @@ def create_record(self, name, data=None, meta=None) -> ProjectRecord: prec.status._data["created_by"] = self.who.id # don't do this: violates encapsulation if foruser: + if self.dbcli.user_id == ANONYMOUS: + self.log.warning("%s wants to reassign new record to %s", self.dbcli.user_id, foruser) try: prec.reassign(foruser) except NotAuthorized as ex: