From bca95c4d45f3508de18f6a3c061a232f61f47f8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <henrik@trineo.org> Date: Tue, 23 Nov 2021 18:16:12 +0100 Subject: [PATCH] WIP: send mails to responsible people --- integrationtests/create_analysis.py | 7 +++++-- .../serverside/examples/example_script.py | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/integrationtests/create_analysis.py b/integrationtests/create_analysis.py index 40abc072..1b7aa0d2 100644 --- a/integrationtests/create_analysis.py +++ b/integrationtests/create_analysis.py @@ -52,9 +52,12 @@ def main(): ) da.add_property("date", "2020-01-01") da.add_property("identifier", "TEST") - da.add_property("responsible", db.execute_query( + only = db.execute_query( "FIND RECORD Person WITH firstname=Only", - unique=True)) + unique=True) + only.add_property(db.Property("Email").retrieve().id, "only@example.com") + only.update() + da.add_property("responsible", only) da.insert() diff --git a/src/caosadvancedtools/serverside/examples/example_script.py b/src/caosadvancedtools/serverside/examples/example_script.py index d06d25c9..63d2bf99 100755 --- a/src/caosadvancedtools/serverside/examples/example_script.py +++ b/src/caosadvancedtools/serverside/examples/example_script.py @@ -47,7 +47,7 @@ logger = logging.getLogger(__name__) guard.set_level(level=UPDATE) -def send_mail(self, changes): +def send_mail(self, changes, receipient): """ calls sendmail in order to send a mail to the curator about pending changes @@ -64,7 +64,7 @@ The following changes where done automatically. """.format(changes="\n".join(changes)) try: fro = caosdb_config["advancedtools"]["automated_updates.from_mail"] - to = caosdb_config["advancedtools"]["automated_updates.to_mail"] + to = receipient except KeyError: logger.error("Server Configuration is missing a setting for " "sending mails. The administrator should check " @@ -141,7 +141,12 @@ def main(args): ) if len(to_be_updated) > 0: - send_mail(to_be_updated) + people = db.execute_query("FIND RECORD Person WHICH IS REFERENCEED BY " + "{}".format(dataAnalysisRecord.id)) + for person in people: + if person.get_property("Email") is not None: + send_mail(to_be_updated, receipient=person.get_property( + "Email")) # TODO (must) what should be done with the old file? Removed if not referenced? -- GitLab