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/04 19:36:54 UTC
[11/12] allura git commit: [#6107] ticket:748 Added option for
allowing email postings to ForgeBlog app
[#6107] ticket:748 Added option for allowing email postings to ForgeBlog app
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/1eb76e43
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/1eb76e43
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/1eb76e43
Branch: refs/heads/ib/6107
Commit: 1eb76e43aa60d76bc037d584f39e28cc2af4cc64
Parents: 1ebfe01
Author: Aleksey 'LXj' Alekseyev <go...@gmail.com>
Authored: Thu Apr 30 22:15:39 2015 +0300
Committer: Aleksey 'LXj' Alekseyev <go...@gmail.com>
Committed: Thu Apr 30 22:15:46 2015 +0300
----------------------------------------------------------------------
ForgeBlog/forgeblog/main.py | 17 +++++++++++++++--
ForgeBlog/forgeblog/model/blog.py | 10 +++++++---
.../forgeblog/templates/blog/admin_options.html | 8 ++++++++
3 files changed, 30 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/1eb76e43/ForgeBlog/forgeblog/main.py
----------------------------------------------------------------------
diff --git a/ForgeBlog/forgeblog/main.py b/ForgeBlog/forgeblog/main.py
index 160b94e..b4dcd4a 100644
--- a/ForgeBlog/forgeblog/main.py
+++ b/ForgeBlog/forgeblog/main.py
@@ -35,7 +35,7 @@ from webob import exc
from ming.orm import session
# Pyforge-specific imports
-from allura.app import Application, SitemapEntry
+from allura.app import Application, SitemapEntry, ConfigOption
from allura.app import DefaultAdminController
from allura.lib import helpers as h
from allura.lib.search import search_app
@@ -90,6 +90,9 @@ class ForgeBlogApp(Application):
'write': 'Create new blog entry.',
'admin': 'Set permissions. Enable/disable commenting.',
}
+ config_options = Application.config_options + [
+ ConfigOption('AllowEmailPosting', bool, True)
+ ]
ordinal = 14
exportable = True
config_options = Application.config_options
@@ -144,6 +147,14 @@ class ForgeBlogApp(Application):
else:
return True
+ @property
+ def allow_email_posting(self):
+ return self.config.options.get('AllowEmailPosting', True)
+
+ @allow_email_posting.setter
+ def allow_email_posting(self, show):
+ self.config.options['AllowEmailPosting'] = bool(show)
+
@h.exceptionless([], log)
def sidebar_menu(self):
base = c.app.url
@@ -404,9 +415,11 @@ class BlogAdminController(DefaultAdminController):
@without_trailing_slash
@expose()
@require_post()
- def set_options(self, show_discussion=False):
+ def set_options(self, show_discussion=False, allow_email_posting=False):
self.app.config.options[
'show_discussion'] = show_discussion and True or False
+ self.app.config.options[
+ 'AllowEmailPosting'] = allow_email_posting and True or False
flash('Blog options updated')
redirect(h.really_unicode(c.project.url() + 'admin/tools')
.encode('utf-8'))
http://git-wip-us.apache.org/repos/asf/allura/blob/1eb76e43/ForgeBlog/forgeblog/model/blog.py
----------------------------------------------------------------------
diff --git a/ForgeBlog/forgeblog/model/blog.py b/ForgeBlog/forgeblog/model/blog.py
index 835c5d2..5839d76 100644
--- a/ForgeBlog/forgeblog/model/blog.py
+++ b/ForgeBlog/forgeblog/model/blog.py
@@ -21,6 +21,7 @@ from datetime import datetime
from random import randint
from pylons import tmpl_context as c, app_globals as g
+from tg import config as tg_config
from pymongo.errors import DuplicateKeyError
from ming import schema
@@ -184,9 +185,12 @@ class BlogPost(M.VersionedArtifact, ActivityObject):
@property
def email_address(self):
- domain = '.'.join(
- reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
- return '%s@%s%s' % (self.title.replace('/', '.'), domain, config.common_suffix)
+ if self.config.options.get('AllowEmailPosting', True):
+ domain = '.'.join(
+ reversed(self.app.url[1:-1].split('/'))).replace('_', '-')
+ return '%s@%s%s' % (self.title.replace('/', '.'), domain, config.common_suffix)
+ else:
+ return tg_config.get('forgemail.return_path')
@staticmethod
def make_base_slug(title, timestamp):
http://git-wip-us.apache.org/repos/asf/allura/blob/1eb76e43/ForgeBlog/forgeblog/templates/blog/admin_options.html
----------------------------------------------------------------------
diff --git a/ForgeBlog/forgeblog/templates/blog/admin_options.html b/ForgeBlog/forgeblog/templates/blog/admin_options.html
index 8c549a0..586f099 100644
--- a/ForgeBlog/forgeblog/templates/blog/admin_options.html
+++ b/ForgeBlog/forgeblog/templates/blog/admin_options.html
@@ -26,6 +26,14 @@
<span>{{app.show_discussion}}</span>
{% endif %}
</div>
+ <label class="grid-7">Allow posting replies via email:</label>
+ <div class="grid-6">
+ {% if allow_config %}
+ <input type="checkbox" name="allow_email_posting" id="allow_email_posting"{% if app.allow_email_posting %} checked="checked"{% endif %}/>
+ {% else %}
+ <span>{{app.allow_email_posting}}</span>
+ {% endif %}
+ </div>
<div class="grid-13"> </div>
<hr/>
<div class="grid-13"> </div>