Unverified Commit 043371e0 authored by Marius van den Beek's avatar Marius van den Beek Committed by GitHub
Browse files

Merge pull request #13179 from rhpvorderman/patch-5

[21.09] Catch exceptions when job.user is None
parents 48e72571 faddbeec
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -2221,12 +2221,9 @@ class JobWrapper(HasResourceParameters):
    @property
    def user(self):
        job = self.get_job()
        if job.user is not None:
            return job.user.email
        elif job.galaxy_session is not None and job.galaxy_session.user is not None:
            return job.galaxy_session.user.email
        elif job.history is not None and job.history.user is not None:
            return job.history.user.email
        user_email = job.get_user_email()
        if user_email:
            return user_email
        elif job.galaxy_session is not None:
            return f"anonymous@{job.galaxy_session.remote_addr.split()[-1]}"
        else:
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ class EmailAction(DefaultJobAction):
                else:
                    host = socket.getfqdn()
                frm = f'galaxy-no-reply@{host}'
            to = job.user.email
            to = job.get_user_email()
            subject = f"Galaxy job completion notification from history '{job.history.name}'"
            outdata = ',\n'.join(ds.dataset.display_name() for ds in job.output_datasets)
            body = f"Your Galaxy job generating dataset(s):\n\n{outdata}\n\nis complete as of {datetime.datetime.now().strftime('%I:%M')}. Click the link below to access your data: \n{link}"
+1 −5
Original line number Diff line number Diff line
@@ -411,11 +411,7 @@ def view_show_job(trans, job, full: bool) -> typing.Dict:
        ))

        if is_admin:
            if job.user:
                job_dict['user_email'] = job.user.email
            else:
                job_dict['user_email'] = None

            job_dict['user_email'] = job.get_user_email()
            job_dict['job_metrics'] = summarize_job_metrics(trans, job)
    return job_dict

+9 −0
Original line number Diff line number Diff line
@@ -1125,6 +1125,15 @@ class Job(Base, JobLike, UsesCreateAndUpdateTime, Dictifiable, RepresentById):
    def set_tool_id(self, tool_id):
        self.tool_id = tool_id

    def get_user_email(self):
        if self.user is not None:
            return self.user.email
        elif self.galaxy_session is not None and self.galaxy_session.user is not None:
            return self.galaxy_session.user.email
        elif self.history is not None and self.history.user is not None:
            return self.history.user.email
        return None

    def set_tool_version(self, tool_version):
        self.tool_version = tool_version

+1 −1
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ class JobController(BaseGalaxyAPIController, UsesVisualizationMixin):
            if view == 'admin_job_list':
                j['decoded_job_id'] = job.id
            if user_details:
                j['user_email'] = job.user.email
                j['user_email'] = job.get_user_email()
            out.append(j)

        return out
Loading