You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by je...@apache.org on 2015/05/15 15:05:03 UTC
[1/2] allura git commit: [#6107] ticket:770 Handle discussion
dissabled property for tickets
Repository: allura
Updated Branches:
refs/heads/ib/6107 c307dd49d -> 7ee69bf9a
[#6107] ticket:770 Handle discussion dissabled property for tickets
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/66b78e46
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/66b78e46
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/66b78e46
Branch: refs/heads/ib/6107
Commit: 66b78e46b5a721300c391875f13bd039fcbe0dfe
Parents: c307dd4
Author: Igor Bondarenko <je...@gmail.com>
Authored: Fri May 15 11:07:33 2015 +0000
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Fri May 15 11:19:09 2015 +0000
----------------------------------------------------------------------
Allura/allura/model/notification.py | 5 +++--
Allura/allura/templates/mail/footer.txt | 4 +++-
ForgeTracker/forgetracker/model/ticket.py | 7 ++++++-
ForgeTracker/forgetracker/tracker_main.py | 6 +++++-
4 files changed, 17 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/66b78e46/Allura/allura/model/notification.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/notification.py b/Allura/allura/model/notification.py
index 4134457..4241c42 100644
--- a/Allura/allura/model/notification.py
+++ b/Allura/allura/model/notification.py
@@ -676,12 +676,13 @@ class MailFooter(object):
return cls.view.get_template(template).render(kw)
@classmethod
- def standard(cls, notification, allow_email_posting=True):
+ def standard(cls, notification, allow_email_posting=True, **kw):
return cls._render('mail/footer.txt',
domain=config['domain'],
notification=notification,
prefix=config['forgemail.url'],
- allow_email_posting=allow_email_posting)
+ allow_email_posting=allow_email_posting,
+ **kw)
@classmethod
def monitored(cls, toaddr, app_url, setting_url):
http://git-wip-us.apache.org/repos/asf/allura/blob/66b78e46/Allura/allura/templates/mail/footer.txt
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/mail/footer.txt b/Allura/allura/templates/mail/footer.txt
index 548051e..62de862 100644
--- a/Allura/allura/templates/mail/footer.txt
+++ b/Allura/allura/templates/mail/footer.txt
@@ -22,7 +22,9 @@
Sent from {{domain}} because you indicated interest in <{{ prefix }}{{ notification.link }}>
-{% if not allow_email_posting %}
+{% if discussion_disabled %}
+Please do not reply to this message. Discussion is disabled for the <{{ prefix }}{{ notification.link }}>
+{% elif not allow_email_posting %}
Please do not reply to this message. Post your messages on the [original page]({{ prefix }}{{ notification.link }})
{% endif %}
http://git-wip-us.apache.org/repos/asf/allura/blob/66b78e46/ForgeTracker/forgetracker/model/ticket.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py
index fdab276..32cb56d 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -762,6 +762,8 @@ class Ticket(VersionedArtifact, ActivityObject, VotableArtifact):
@property
def email_address(self):
+ if self.discussion_disabled:
+ return tg_config.get('forgemail.return_path')
if c.app.config.options.get('AllowEmailPosting', True):
domain = '.'.join(
reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
@@ -1271,7 +1273,10 @@ class Ticket(VersionedArtifact, ActivityObject, VotableArtifact):
h.absurl('{0}admin/{1}/options'.format(
self.project.url(),
self.app.config.options.mount_point)))
- return super(Ticket, self).get_mail_footer(notification, toaddr)
+ return MailFooter.standard(
+ notification,
+ self.app.config.options.get('AllowEmailPosting', True),
+ discussion_disabled=self.discussion_disabled)
class TicketAttachment(BaseAttachment):
http://git-wip-us.apache.org/repos/asf/allura/blob/66b78e46/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 4d987dc..52e7b28 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -280,7 +280,11 @@ class ForgeTrackerApp(Application):
ticket_num=int(topic))
except:
log.exception('Error getting ticket %s', topic)
- self.handle_artifact_message(ticket, message)
+ return
+ if ticket.discussion_disabled:
+ log.info('Discussion disabled for ticket %s', ticket.ticket_num)
+ else:
+ self.handle_artifact_message(ticket, message)
def main_menu(self):
'''Apps should provide their entries to be added to the main nav
[2/2] allura git commit: [#6107] ticket:770 Add Artifact.email_domain;
Refactor email_address
Posted by je...@apache.org.
[#6107] ticket:770 Add Artifact.email_domain; Refactor email_address
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/7ee69bf9
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/7ee69bf9
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/7ee69bf9
Branch: refs/heads/ib/6107
Commit: 7ee69bf9a18bc57302b202dcc956400a6b69c71b
Parents: 66b78e4
Author: Igor Bondarenko <je...@gmail.com>
Authored: Fri May 15 11:36:10 2015 +0000
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Fri May 15 11:36:10 2015 +0000
----------------------------------------------------------------------
Allura/allura/model/artifact.py | 6 ++++++
Allura/allura/model/repository.py | 4 +---
ForgeBlog/forgeblog/model/blog.py | 3 +--
ForgeDiscussion/forgediscussion/model/forum.py | 3 +--
ForgeTracker/forgetracker/model/ticket.py | 3 +--
ForgeWiki/forgewiki/model/wiki.py | 3 +--
6 files changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/7ee69bf9/Allura/allura/model/artifact.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py
index b338572..32ebc10 100644
--- a/Allura/allura/model/artifact.py
+++ b/Allura/allura/model/artifact.py
@@ -257,6 +257,12 @@ class Artifact(MappedClass, SearchIndexable):
return 'mailto:%s' % self.email_address
@property
+ def email_domain(self):
+ """Return domain part of email address for this Artifact"""
+ url = self.app.url[1:-1].split('/')
+ return '.'.join(reversed(url)).replace('_', '-')
+
+ @property
def project(self):
"""Return the :class:`allura.model.project.Project` instance to which
this Artifact belongs.
http://git-wip-us.apache.org/repos/asf/allura/blob/7ee69bf9/Allura/allura/model/repository.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/repository.py b/Allura/allura/model/repository.py
index 8455395..e4583e5 100644
--- a/Allura/allura/model/repository.py
+++ b/Allura/allura/model/repository.py
@@ -567,9 +567,7 @@ class Repository(Artifact, ActivityObject):
@property
def email_address(self):
- domain = '.'.join(
- reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
- return u'noreply@%s%s' % (domain, config.common_suffix)
+ return u'noreply@%s%s' % (self.email_domain, config.common_suffix)
def index(self):
result = Artifact.index(self)
http://git-wip-us.apache.org/repos/asf/allura/blob/7ee69bf9/ForgeBlog/forgeblog/model/blog.py
----------------------------------------------------------------------
diff --git a/ForgeBlog/forgeblog/model/blog.py b/ForgeBlog/forgeblog/model/blog.py
index 5839d76..c8426cb 100644
--- a/ForgeBlog/forgeblog/model/blog.py
+++ b/ForgeBlog/forgeblog/model/blog.py
@@ -186,8 +186,7 @@ class BlogPost(M.VersionedArtifact, ActivityObject):
@property
def email_address(self):
if self.config.options.get('AllowEmailPosting', True):
- domain = '.'.join(
- reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
+ domain = self.email_domain
return '%s@%s%s' % (self.title.replace('/', '.'), domain, config.common_suffix)
else:
return tg_config.get('forgemail.return_path')
http://git-wip-us.apache.org/repos/asf/allura/blob/7ee69bf9/ForgeDiscussion/forgediscussion/model/forum.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/model/forum.py b/ForgeDiscussion/forgediscussion/model/forum.py
index d4ad197..96e570d 100644
--- a/ForgeDiscussion/forgediscussion/model/forum.py
+++ b/ForgeDiscussion/forgediscussion/model/forum.py
@@ -80,8 +80,7 @@ class Forum(M.Discussion):
@property
def email_address(self):
if c.app.config.options.get('AllowEmailPosting', True):
- domain = '.'.join(
- reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
+ domain = self.email_domain
local_part = self.shortname.replace('/', '.')
return '%s@%s%s' % (local_part, domain, config.common_suffix)
else:
http://git-wip-us.apache.org/repos/asf/allura/blob/7ee69bf9/ForgeTracker/forgetracker/model/ticket.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py
index 32cb56d..925a067 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -765,8 +765,7 @@ class Ticket(VersionedArtifact, ActivityObject, VotableArtifact):
if self.discussion_disabled:
return tg_config.get('forgemail.return_path')
if c.app.config.options.get('AllowEmailPosting', True):
- domain = '.'.join(
- reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
+ domain = self.email_domain
return '%s@%s%s' % (self.ticket_num, domain, config.common_suffix)
else:
return tg_config.get('forgemail.return_path')
http://git-wip-us.apache.org/repos/asf/allura/blob/7ee69bf9/ForgeWiki/forgewiki/model/wiki.py
----------------------------------------------------------------------
diff --git a/ForgeWiki/forgewiki/model/wiki.py b/ForgeWiki/forgewiki/model/wiki.py
index 827a104..2ca4f8f 100644
--- a/ForgeWiki/forgewiki/model/wiki.py
+++ b/ForgeWiki/forgewiki/model/wiki.py
@@ -161,8 +161,7 @@ class Page(VersionedArtifact, ActivityObject):
@property
def email_address(self):
if context.app.config.options.get('AllowEmailPosting', True):
- domain = '.'.join(
- reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
+ domain = self.email_domain
return '%s@%s%s' % (self.title.replace('/', '.'), domain, config.common_suffix)
else:
return tg_config.get('forgemail.return_path')