mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-21 13:50:20 +08:00
Merge branch 'release_21.09' into dev
This commit is contained in:
@@ -98,6 +98,7 @@ class MockApp(di.Container, GalaxyDataTestApp):
|
||||
self.file_sources = Bunch(to_dict=lambda *args, **kwargs: {})
|
||||
self.interactivetool_manager = Bunch(create_interactivetool=lambda *args, **kwargs: None)
|
||||
self.is_job_handler = False
|
||||
self.biotools_metadata_source = None
|
||||
rebind_container_to_task(self)
|
||||
|
||||
def url_for(*args, **kwds):
|
||||
|
||||
@@ -58,7 +58,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}"
|
||||
|
||||
@@ -2151,12 +2151,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:
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1147,6 +1147,15 @@ class Job(Base, JobLike, UsesCreateAndUpdateTime, Dictifiable, Serializable):
|
||||
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
|
||||
|
||||
|
||||
@@ -1029,8 +1029,9 @@ class Tool(Dictifiable):
|
||||
has_missing_data = len(edam_operations) == 0 or len(edam_topics) == 0
|
||||
if has_missing_data:
|
||||
biotools_reference = self.biotools_reference
|
||||
if biotools_reference:
|
||||
biotools_entry = self.app.biotools_metadata_source.get_biotools_metadata(biotools_reference)
|
||||
metadata_source = self.app.biotools_metadata_source
|
||||
if biotools_reference and metadata_source:
|
||||
biotools_entry = metadata_source.get_biotools_metadata(biotools_reference)
|
||||
if biotools_entry:
|
||||
edam_info = biotools_entry.edam_info
|
||||
if len(edam_operations) == 0:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -154,7 +154,7 @@ class SpecifiedDateListGrid(grids.Grid):
|
||||
|
||||
def get_value(self, trans, grid, job):
|
||||
if job.user:
|
||||
return escape(job.user.email)
|
||||
return escape(job.get_user_email())
|
||||
return 'anonymous'
|
||||
|
||||
class EmailColumn(grids.GridColumn):
|
||||
@@ -303,10 +303,7 @@ class Jobs(BaseUIController, ReportQueryBuilder):
|
||||
# that submitted the job.
|
||||
job_id = kwd.get('id', None)
|
||||
job = get_job(trans, job_id)
|
||||
if job.user:
|
||||
kwd['email'] = job.user.email
|
||||
else:
|
||||
kwd['email'] = None # For anonymous users
|
||||
kwd['email'] = job.get_user_email()
|
||||
return trans.response.send_redirect(web.url_for(controller='jobs',
|
||||
action='user_per_month',
|
||||
**kwd))
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
<tr>
|
||||
<td colspan="2">${job.tool_id}</td>
|
||||
<td>
|
||||
%if job.user and job.user.email:
|
||||
${job.user.email}
|
||||
%if job.get_user_email():
|
||||
${job.get_user_email()}
|
||||
%else:
|
||||
anonymous
|
||||
%endif
|
||||
|
||||
Reference in New Issue
Block a user