|
a/Allura/allura/model/notification.py |
|
b/Allura/allura/model/notification.py |
|
... |
|
... |
248 |
# Don't send if user doesn't have read perms to the artifact
|
248 |
# Don't send if user doesn't have read perms to the artifact
|
249 |
if user and artifact and \
|
249 |
if user and artifact and \
|
250 |
not security.has_access(artifact, 'read', user)():
|
250 |
not security.has_access(artifact, 'read', user)():
|
251 |
log.debug("Skipping notification - User %s doesn't have read "
|
251 |
log.debug("Skipping notification - User %s doesn't have read "
|
252 |
"access to artifact %s" % (user_id, str(self.ref_id)))
|
252 |
"access to artifact %s" % (user_id, str(self.ref_id)))
|
253 |
log.debug("User roles [%s]; artifact ACL [%s]; project ACL [%s]",
|
253 |
log.debug("User roles [%s]; artifact ACL [%s]; PSC ACL [%s]",
|
254 |
', '.join([str(r) for r in security.Credentials.get().user_roles(user_id=user_id, project_id=c.project._id).reaching_ids]),
|
254 |
', '.join([str(r) for r in security.Credentials.get().user_roles(user_id=user_id, project_id=artifact.project._id).reaching_ids]),
|
255 |
', '.join([str(a) for a in artifact.acl]),
|
255 |
', '.join([str(a) for a in artifact.acl]),
|
256 |
', '.join([str(a) for a in c.project.acl]))
|
256 |
', '.join([str(a) for a in artifact.parent_security_context().acl]))
|
257 |
return
|
257 |
return
|
258 |
allura.tasks.mail_tasks.sendmail.post(
|
258 |
allura.tasks.mail_tasks.sendmail.post(
|
259 |
destinations=[str(user_id)],
|
259 |
destinations=[str(user_id)],
|
260 |
fromaddr=self.from_address,
|
260 |
fromaddr=self.from_address,
|
261 |
reply_to=self.reply_to_address,
|
261 |
reply_to=self.reply_to_address,
|