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/12/24 15:33:54 UTC
[1/7] allura git commit: [#8020] ticket:875 updated rendering of spam
block; changed notification text and redirect here link
Repository: allura
Updated Branches:
refs/heads/ib/8020a [created] 976107813
[#8020] ticket:875 updated rendering of spam block; changed notification text and redirect here link
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/a5b2727a
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/a5b2727a
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/a5b2727a
Branch: refs/heads/ib/8020a
Commit: a5b2727a76d90c6d83d22677f3ea9afb2e503975
Parents: 2de3fc4
Author: DeV1doR <de...@ukr.net>
Authored: Mon Dec 21 18:15:56 2015 +0200
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Dec 23 12:48:00 2015 +0200
----------------------------------------------------------------------
Allura/allura/lib/widgets/discuss.py | 34 +++++++-------------
Allura/allura/nf/allura/css/site_style.css | 1 +
.../allura/templates/widgets/post_widget.html | 26 +++++++--------
3 files changed, 25 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/a5b2727a/Allura/allura/lib/widgets/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index ac4722d..52e9c32 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -341,37 +341,25 @@ class Post(HierWidget):
$('div.moderate', post).removeClass('moderate');
}
else if (mod == 'Spam'){
- spam_block_display($(post), 'none');
+ spam_block_display($(post), 'show_spam');
}
else if (mod == 'Undo'){
- spam_block_display($(post), 'block');
+ spam_block_display($(post), 'hide_spam');
}
}
});
});
function spam_block_display($post, display_type) {
- var post_block = $post.find('.display_post');
- post_block.css('display', display_type);
-
- var attach_block = $post.find('.add_attachment_form').next();
- if (attach_block.attr('class') == undefined) {
- attach_block.css('display', display_type);
- }
-
- $.each($post.find('.options').children(), function() {
- $(this).css('display', display_type);
- if (
- $(this).hasClass('reply_post') &&
- $post.find('input[name="prev_status"]').attr('value') == 'pending'
- ) {
- $(this).hide();
- }
- });
- if (display_type == 'none') {
- $post.find('.spam-present').show();
- } else {
- $post.find('.spam-present').hide();
+ var spam_block = $post.find('.info.grid-15.spam-present');
+ var row = $post.find('.row').eq(0);
+
+ if (display_type == 'show_spam') {
+ spam_block.show();
+ row.hide();
+ } else if (display_type == 'hide_spam') {
+ spam_block.hide();
+ row.show();
}
}
http://git-wip-us.apache.org/repos/asf/allura/blob/a5b2727a/Allura/allura/nf/allura/css/site_style.css
----------------------------------------------------------------------
diff --git a/Allura/allura/nf/allura/css/site_style.css b/Allura/allura/nf/allura/css/site_style.css
index 76606af..0e60c81 100644
--- a/Allura/allura/nf/allura/css/site_style.css
+++ b/Allura/allura/nf/allura/css/site_style.css
@@ -3424,6 +3424,7 @@ fieldset.preferences legend {
}
.spam-present {
display: none;
+ margin-left: 75px;
}
.spam-text {
float: left;
http://git-wip-us.apache.org/repos/asf/allura/blob/a5b2727a/Allura/allura/templates/widgets/post_widget.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/post_widget.html b/Allura/allura/templates/widgets/post_widget.html
index 016da48..5e11779 100644
--- a/Allura/allura/templates/widgets/post_widget.html
+++ b/Allura/allura/templates/widgets/post_widget.html
@@ -29,6 +29,19 @@
<div>
<div id="{{value.slug}}" class="discussion-post">
+ {% if h.has_access(value, 'moderate')() %}
+ <div class="info grid-15 spam-present">
+ <span class="spam-text">Comment has been marked as spam. </span>
+ <form method="POST" action="{{value.url()+'moderate'}}">
+ <input type="hidden" name="undo" value="True"/>
+ <input type="hidden" name="prev_status" value="{{value.status}}">
+ <a href="" class="moderate_post little_link"><span>Undo</span></a>
+ {{lib.csrf_token()}}
+ </form>
+ <br>
+ <span class="spam-text">You can see all pending comments posted by this user </span><a href="/p/test/tickets/_discuss/moderate?username={{value.author().username}}&status=pending">here</a>
+ </div>
+ {% endif %}
<div class="row">
<div class="grid-2 tcenter gravatar">
<p class="gravatar">
@@ -44,19 +57,6 @@
{% set pending = value.status == 'pending' %}
{% set moderator = h.has_access(value, 'moderator')() %}
<div class="grid-14 post-content" style="width: {{indent == 0 and 525 or (indent <= 40 and 515-indent*10 or 65)}}px">
- <div class="spam-present">
- <span class="spam-text">Comment has been marked as spam. </span>
- {% if h.has_access(value, 'moderate')() %}
- <form method="POST" action="{{value.url()+'moderate'}}">
- <input type="hidden" name="undo" value="True"/>
- <input type="hidden" name="prev_status" value="{{value.status}}">
- <a href="" class="moderate_post little_link"><span>Undo</span></a>
- {{lib.csrf_token()}}
- </form>
- {% endif %}
- <br>
- <span class="spam-text">You can see all comments posted by this user </span><a href="/p/test/tickets/_discuss/moderate?username={{value.author().username}}&status=spam">here</a>
- </div>
<div class="display_post{% if pending and moderator %} moderate{% endif %}">
{% if pending and not moderator %}
<b>Post awaiting moderation.</b>
[7/7] allura git commit: [#8020] ticket:875 Replace hardcoded link to
moderatation page
Posted by je...@apache.org.
[#8020] ticket:875 Replace hardcoded link to moderatation page
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/97610781
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/97610781
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/97610781
Branch: refs/heads/ib/8020a
Commit: 9761078131383a223938f69517717f6fb63c1acf
Parents: a5b2727
Author: Igor Bondarenko <je...@gmail.com>
Authored: Thu Dec 24 14:44:50 2015 +0200
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Thu Dec 24 14:44:50 2015 +0200
----------------------------------------------------------------------
Allura/allura/templates/widgets/post_widget.html | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/97610781/Allura/allura/templates/widgets/post_widget.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/post_widget.html b/Allura/allura/templates/widgets/post_widget.html
index 5e11779..c43ba8b 100644
--- a/Allura/allura/templates/widgets/post_widget.html
+++ b/Allura/allura/templates/widgets/post_widget.html
@@ -39,7 +39,8 @@
{{lib.csrf_token()}}
</form>
<br>
- <span class="spam-text">You can see all pending comments posted by this user </span><a href="/p/test/tickets/_discuss/moderate?username={{value.author().username}}&status=pending">here</a>
+ <span class="spam-text">You can see all pending comments posted by this user </span>
+ <a href="{{value.thread.discussion.url()}}moderate?username={{value.author().username}}&status=pending">here</a>
</div>
{% endif %}
<div class="row">
[3/7] allura git commit: [#8020] ticket:874 added tests for moderation
Posted by je...@apache.org.
[#8020] ticket:874 added tests for moderation
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/d47f465b
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/d47f465b
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/d47f465b
Branch: refs/heads/ib/8020a
Commit: d47f465b1798d8e3bf3ce5a25513b2a1bf617ec1
Parents: 10a6833
Author: DeV1doR <de...@ukr.net>
Authored: Thu Dec 10 19:22:04 2015 +0200
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Dec 23 12:48:00 2015 +0200
----------------------------------------------------------------------
Allura/allura/controllers/discuss.py | 4 +--
Allura/allura/lib/widgets/discuss.py | 2 +-
Allura/allura/tests/functional/test_discuss.py | 36 ++++++++++++++++++++
.../tests/functional/test_forum.py | 12 -------
4 files changed, 39 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/d47f465b/Allura/allura/controllers/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/discuss.py b/Allura/allura/controllers/discuss.py
index 13f3921..818cc10 100644
--- a/Allura/allura/controllers/discuss.py
+++ b/Allura/allura/controllers/discuss.py
@@ -441,8 +441,8 @@ class ModerationController(BaseController):
if flag:
query['flags'] = {'$gte': int(flag)}
if username:
- filtered_user = User.query.get(username=username)
- query['author_id'] = getattr(filtered_user, '_id', None)
+ filtered_user = User.by_username(username)
+ query['author_id'] = filtered_user._id if filtered_user else None
q = self.PostModel.query.find(query)
count = q.count()
limit, page, start = g.handle_paging(limit, page or 0, default=50)
http://git-wip-us.apache.org/repos/asf/allura/blob/d47f465b/Allura/allura/lib/widgets/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index 62adb16..94310e2 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -124,7 +124,7 @@ class PostFilter(ff.ForgeForm):
css_class='text',
if_missing=0),
ew.InputField(name='username',
- label='Show post filtered by (username)'),
+ label='Show post filtered by username'),
ew.SubmitButton(label='Filter Posts')
])
]
http://git-wip-us.apache.org/repos/asf/allura/blob/d47f465b/Allura/allura/tests/functional/test_discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_discuss.py b/Allura/allura/tests/functional/test_discuss.py
index fb8a08b..d70664b 100644
--- a/Allura/allura/tests/functional/test_discuss.py
+++ b/Allura/allura/tests/functional/test_discuss.py
@@ -172,6 +172,42 @@ class TestDiscuss(TestDiscussBase):
assert M.Post.query.find().count() == 1
assert M.Post.query.find({'deleted': False}).count() == 0
+ def test_user_filter(self):
+ r = self._make_post('Test post')
+ post_link = str(
+ r.html.find('div', {'class': 'edit_post_form reply'}).find('form')['action'])
+ self.app.post(post_link + 'moderate', params=dict(spam='spam'))
+ post = M.Post.query.find().first()
+ post_username = post.author().username
+ moderate_link = '/p/test/wiki/_discuss/moderate'
+
+ # no filter
+ r_no_filtered = self.app.get(
+ moderate_link,
+ params=dict(
+ status=post.status
+ ))
+ assert r_no_filtered.html.tbody.findAll('tr') != []
+
+ # filter with existing user
+ r_filtered = self.app.get(
+ moderate_link,
+ params=dict(
+ username=post_username,
+ status=post.status
+ ))
+ assert r_filtered.html.tbody.findAll('tr') != []
+ assert post_username in r_filtered.html.tbody.findAll('td')[-5].string
+
+ # filter without existing user
+ r_bad_filtered = self.app.get(
+ moderate_link,
+ params=dict(
+ username='bad_filtered_user',
+ status=post.status
+ ))
+ assert r_bad_filtered.html.tbody.findAll('tr') == []
+
@patch.object(M.Thread, 'is_spam')
def test_feed_does_not_include_comments_held_for_moderation(self, is_spam):
is_spam.return_value = True
http://git-wip-us.apache.org/repos/asf/allura/blob/d47f465b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
index a91b0c4..2e3ddaa 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -415,18 +415,6 @@ class TestForum(TestController):
input_field = r.html.fieldset.find('input', {'value': username})
assert input_field is not None
- username = 341
- r = self.app.get(
- '/discussion/testforum/moderate?username=%s' % username)
- input_field = r.html.fieldset.find('input', {'value': username})
- assert input_field is not None
-
- username = 123.43523
- r = self.app.get(
- '/discussion/testforum/moderate?username=%s' % username)
- input_field = r.html.fieldset.find('input', {'value': username})
- assert input_field is not None
-
username = None
r = self.app.get(
'/discussion/testforum/moderate?username=%s' % username)
[4/7] allura git commit: [#8020] ticket:874 added filter to
discussion moderation; added test for filtering
Posted by je...@apache.org.
[#8020] ticket:874 added filter to discussion moderation; added test for filtering
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/10a68331
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/10a68331
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/10a68331
Branch: refs/heads/ib/8020a
Commit: 10a683312a783e25283a1327bc581f4619a69ca5
Parents: a784bde
Author: DeV1doR <de...@ukr.net>
Authored: Wed Dec 9 20:27:29 2015 +0200
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Dec 23 12:48:00 2015 +0200
----------------------------------------------------------------------
Allura/allura/controllers/discuss.py | 7 +++++-
Allura/allura/lib/widgets/discuss.py | 2 ++
.../allura/templates/discussion/moderate.html | 2 +-
.../tests/functional/test_forum.py | 25 ++++++++++++++++++++
4 files changed, 34 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/10a68331/Allura/allura/controllers/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/discuss.py b/Allura/allura/controllers/discuss.py
index 4c0c748..13f3921 100644
--- a/Allura/allura/controllers/discuss.py
+++ b/Allura/allura/controllers/discuss.py
@@ -35,6 +35,7 @@ from allura.lib.decorators import require_post
from allura.lib.security import require_access
from allura.lib.widgets import discuss as DW
+from allura.model.auth import User
from .attachments import AttachmentsController, AttachmentController
from .feed import FeedArgs, FeedController
@@ -428,6 +429,7 @@ class ModerationController(BaseController):
page = kw.pop('page', 0)
limit = kw.pop('limit', 50)
status = kw.pop('status', 'pending')
+ username = kw.pop('username', None)
flag = kw.pop('flag', None)
c.post_filter = WidgetConfig.post_filter
c.moderate_posts = WidgetConfig.moderate_posts
@@ -438,6 +440,9 @@ class ModerationController(BaseController):
query['status'] = status
if flag:
query['flags'] = {'$gte': int(flag)}
+ if username:
+ filtered_user = User.query.get(username=username)
+ query['author_id'] = getattr(filtered_user, '_id', None)
q = self.PostModel.query.find(query)
count = q.count()
limit, page, start = g.handle_paging(limit, page or 0, default=50)
@@ -447,7 +452,7 @@ class ModerationController(BaseController):
pages = (count // limit) + 1
return dict(discussion=self.discussion,
posts=q, page=page, limit=limit,
- status=status, flag=flag,
+ status=status, flag=flag, username=username,
pgnum=pgnum, pages=pages)
@h.vardec
http://git-wip-us.apache.org/repos/asf/allura/blob/10a68331/Allura/allura/lib/widgets/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index 1e3d632..62adb16 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -123,6 +123,8 @@ class PostFilter(ff.ForgeForm):
label='Show posts with at least "n" flags',
css_class='text',
if_missing=0),
+ ew.InputField(name='username',
+ label='Show post filtered by (username)'),
ew.SubmitButton(label='Filter Posts')
])
]
http://git-wip-us.apache.org/repos/asf/allura/blob/10a68331/Allura/allura/templates/discussion/moderate.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/discussion/moderate.html b/Allura/allura/templates/discussion/moderate.html
index b5f2e22..81f0c18 100644
--- a/Allura/allura/templates/discussion/moderate.html
+++ b/Allura/allura/templates/discussion/moderate.html
@@ -34,6 +34,6 @@ Moderation Queue
<a href="?status={{status}}&flag={{flag}}&page={{page-limit}}">Previous Page</a>
<a href="?status={{status}}&flag={{flag}}&page={{page+limit}}">Next Page</a>
</div>
-{{c.post_filter.display(action=discussion.url()+'moderate', value=dict(status=status, flag=flag))}}
+{{c.post_filter.display(action=discussion.url()+'moderate', value=dict(status=status, flag=flag, username=username))}}
{{c.moderate_posts.display(value=dict(posts=posts), action=discussion.url()+'moderate/save_moderation')}}
{% endblock %}
http://git-wip-us.apache.org/repos/asf/allura/blob/10a68331/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
----------------------------------------------------------------------
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
index 7385357..a91b0c4 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -408,6 +408,31 @@ class TestForum(TestController):
'delete': 'Delete Marked'})
_check()
+ def test_user_filter(self):
+ username = 'test_username1'
+ r = self.app.get(
+ '/discussion/testforum/moderate?username=%s' % username)
+ input_field = r.html.fieldset.find('input', {'value': username})
+ assert input_field is not None
+
+ username = 341
+ r = self.app.get(
+ '/discussion/testforum/moderate?username=%s' % username)
+ input_field = r.html.fieldset.find('input', {'value': username})
+ assert input_field is not None
+
+ username = 123.43523
+ r = self.app.get(
+ '/discussion/testforum/moderate?username=%s' % username)
+ input_field = r.html.fieldset.find('input', {'value': username})
+ assert input_field is not None
+
+ username = None
+ r = self.app.get(
+ '/discussion/testforum/moderate?username=%s' % username)
+ input_field = r.html.fieldset.find('input', {'value': username})
+ assert input_field is None
+
def test_posting(self):
r = self.app.get('/discussion/create_topic/')
f = r.html.find('form', {'action': '/p/test/discussion/save_new_topic'})
[2/7] allura git commit: [#8020] ticket:875 updated jquery for render;
updated logic with undo; updated test
Posted by je...@apache.org.
[#8020] ticket:875 updated jquery for render; updated logic with undo; updated test
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/2de3fc44
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/2de3fc44
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/2de3fc44
Branch: refs/heads/ib/8020a
Commit: 2de3fc44717070fae4c1a8344b4f15add6310f4f
Parents: b000761
Author: DeV1doR <de...@ukr.net>
Authored: Sat Dec 12 17:18:08 2015 +0200
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Dec 23 12:48:00 2015 +0200
----------------------------------------------------------------------
Allura/allura/controllers/discuss.py | 4 +++-
Allura/allura/lib/widgets/discuss.py | 24 ++++++++++++++++----
.../allura/templates/widgets/post_widget.html | 1 +
Allura/allura/tests/functional/test_discuss.py | 9 +++++++-
4 files changed, 31 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/2de3fc44/Allura/allura/controllers/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/discuss.py b/Allura/allura/controllers/discuss.py
index add5ef3..40320ee 100644
--- a/Allura/allura/controllers/discuss.py
+++ b/Allura/allura/controllers/discuss.py
@@ -356,7 +356,9 @@ class PostController(BaseController):
elif kw.pop('spam', None):
self.post.spam()
elif kw.pop('undo', None):
- self.post.status = 'pending'
+ prev_status = kw.pop('prev_status', None)
+ if prev_status:
+ self.post.status = prev_status
elif kw.pop('approve', None):
if self.post.status != 'ok':
self.post.approve()
http://git-wip-us.apache.org/repos/asf/allura/blob/2de3fc44/Allura/allura/lib/widgets/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index 2d4dfea..ac4722d 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -342,23 +342,37 @@ class Post(HierWidget):
}
else if (mod == 'Spam'){
spam_block_display($(post), 'none');
- $(post).find('.spam-present').show();
}
else if (mod == 'Undo'){
spam_block_display($(post), 'block');
- $(post).find('.spam-present').hide();
- $(post).find('.options a').eq(0).hide();
}
}
});
});
function spam_block_display($post, display_type) {
- $post.find('.display_post').css(
- 'display', display_type);
+ var post_block = $post.find('.display_post');
+ post_block.css('display', display_type);
+
+ var attach_block = $post.find('.add_attachment_form').next();
+ if (attach_block.attr('class') == undefined) {
+ attach_block.css('display', display_type);
+ }
+
$.each($post.find('.options').children(), function() {
$(this).css('display', display_type);
+ if (
+ $(this).hasClass('reply_post') &&
+ $post.find('input[name="prev_status"]').attr('value') == 'pending'
+ ) {
+ $(this).hide();
+ }
});
+ if (display_type == 'none') {
+ $post.find('.spam-present').show();
+ } else {
+ $post.find('.spam-present').hide();
+ }
}
function get_cm($elem) { return $('.CodeMirror', $elem)[0].CodeMirror; }
http://git-wip-us.apache.org/repos/asf/allura/blob/2de3fc44/Allura/allura/templates/widgets/post_widget.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/post_widget.html b/Allura/allura/templates/widgets/post_widget.html
index fa30770..016da48 100644
--- a/Allura/allura/templates/widgets/post_widget.html
+++ b/Allura/allura/templates/widgets/post_widget.html
@@ -49,6 +49,7 @@
{% if h.has_access(value, 'moderate')() %}
<form method="POST" action="{{value.url()+'moderate'}}">
<input type="hidden" name="undo" value="True"/>
+ <input type="hidden" name="prev_status" value="{{value.status}}">
<a href="" class="moderate_post little_link"><span>Undo</span></a>
{{lib.csrf_token()}}
</form>
http://git-wip-us.apache.org/repos/asf/allura/blob/2de3fc44/Allura/allura/tests/functional/test_discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_discuss.py b/Allura/allura/tests/functional/test_discuss.py
index 47218c8..719e57a 100644
--- a/Allura/allura/tests/functional/test_discuss.py
+++ b/Allura/allura/tests/functional/test_discuss.py
@@ -212,10 +212,17 @@ class TestDiscuss(TestDiscussBase):
r = self._make_post('Test post')
post_link = str(
r.html.find('div', {'class': 'edit_post_form reply'}).find('form')['action'])
- self.app.post(post_link + 'moderate', params=dict(undo='undo'))
+
+ self.app.post(post_link + 'moderate', params=dict(
+ undo='undo', prev_status='pending'))
post = M.Post.query.find().first()
assert post.status == 'pending'
+ self.app.post(post_link + 'moderate', params=dict(
+ undo='undo', prev_status='ok'))
+ post = M.Post.query.find().first()
+ assert post.status == 'ok'
+
@patch.object(M.Thread, 'is_spam')
def test_feed_does_not_include_comments_held_for_moderation(self, is_spam):
is_spam.return_value = True
[6/7] allura git commit: [#8020] ticket:875 updated widget
Posted by je...@apache.org.
[#8020] ticket:875 updated widget
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/b0007616
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/b0007616
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/b0007616
Branch: refs/heads/ib/8020a
Commit: b00076163e5742703a05e691db3fd12b98b1bbc7
Parents: 7a582ac
Author: DeV1doR <de...@ukr.net>
Authored: Fri Dec 11 15:14:57 2015 +0200
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Dec 23 12:48:00 2015 +0200
----------------------------------------------------------------------
Allura/allura/lib/widgets/discuss.py | 1 +
Allura/allura/templates/widgets/post_widget.html | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/b0007616/Allura/allura/lib/widgets/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index 5badc98..2d4dfea 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -347,6 +347,7 @@ class Post(HierWidget):
else if (mod == 'Undo'){
spam_block_display($(post), 'block');
$(post).find('.spam-present').hide();
+ $(post).find('.options a').eq(0).hide();
}
}
});
http://git-wip-us.apache.org/repos/asf/allura/blob/b0007616/Allura/allura/templates/widgets/post_widget.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/post_widget.html b/Allura/allura/templates/widgets/post_widget.html
index 4912757..fa30770 100644
--- a/Allura/allura/templates/widgets/post_widget.html
+++ b/Allura/allura/templates/widgets/post_widget.html
@@ -46,13 +46,15 @@
<div class="grid-14 post-content" style="width: {{indent == 0 and 525 or (indent <= 40 and 515-indent*10 or 65)}}px">
<div class="spam-present">
<span class="spam-text">Comment has been marked as spam. </span>
+ {% if h.has_access(value, 'moderate')() %}
<form method="POST" action="{{value.url()+'moderate'}}">
<input type="hidden" name="undo" value="True"/>
<a href="" class="moderate_post little_link"><span>Undo</span></a>
{{lib.csrf_token()}}
</form>
+ {% endif %}
<br>
- <span class="spam-text">You can see all comments posted by this user </span><a href="/p/test/tickets/_discuss/moderate">here</a>
+ <span class="spam-text">You can see all comments posted by this user </span><a href="/p/test/tickets/_discuss/moderate?username={{value.author().username}}&status=spam">here</a>
</div>
<div class="display_post{% if pending and moderator %} moderate{% endif %}">
{% if pending and not moderator %}
[5/7] allura git commit: [#8020] ticket:875 added test for undo;
added text when spam clicking occured at ticket post page
Posted by je...@apache.org.
[#8020] ticket:875 added test for undo; added text when spam clicking occured at ticket post page
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/7a582ace
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/7a582ace
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/7a582ace
Branch: refs/heads/ib/8020a
Commit: 7a582ace782ab2ed3c7464cd4ff638e6917e3b29
Parents: d47f465
Author: DeV1doR <de...@ukr.net>
Authored: Fri Dec 11 13:56:05 2015 +0200
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Dec 23 12:48:00 2015 +0200
----------------------------------------------------------------------
Allura/allura/controllers/discuss.py | 2 ++
Allura/allura/lib/widgets/discuss.py | 15 ++++++++++++++-
Allura/allura/nf/allura/css/site_style.css | 6 ++++++
Allura/allura/templates/widgets/post_widget.html | 12 +++++++++++-
Allura/allura/tests/functional/test_discuss.py | 8 ++++++++
5 files changed, 41 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/7a582ace/Allura/allura/controllers/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/discuss.py b/Allura/allura/controllers/discuss.py
index 818cc10..add5ef3 100644
--- a/Allura/allura/controllers/discuss.py
+++ b/Allura/allura/controllers/discuss.py
@@ -355,6 +355,8 @@ class PostController(BaseController):
self.post.delete()
elif kw.pop('spam', None):
self.post.spam()
+ elif kw.pop('undo', None):
+ self.post.status = 'pending'
elif kw.pop('approve', None):
if self.post.status != 'ok':
self.post.approve()
http://git-wip-us.apache.org/repos/asf/allura/blob/7a582ace/Allura/allura/lib/widgets/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/discuss.py b/Allura/allura/lib/widgets/discuss.py
index 94310e2..5badc98 100644
--- a/Allura/allura/lib/widgets/discuss.py
+++ b/Allura/allura/lib/widgets/discuss.py
@@ -341,12 +341,25 @@ class Post(HierWidget):
$('div.moderate', post).removeClass('moderate');
}
else if (mod == 'Spam'){
- $(post).remove();
+ spam_block_display($(post), 'none');
+ $(post).find('.spam-present').show();
+ }
+ else if (mod == 'Undo'){
+ spam_block_display($(post), 'block');
+ $(post).find('.spam-present').hide();
}
}
});
});
+ function spam_block_display($post, display_type) {
+ $post.find('.display_post').css(
+ 'display', display_type);
+ $.each($post.find('.options').children(), function() {
+ $(this).css('display', display_type);
+ });
+ }
+
function get_cm($elem) { return $('.CodeMirror', $elem)[0].CodeMirror; }
if($('a.edit_post', post)){
http://git-wip-us.apache.org/repos/asf/allura/blob/7a582ace/Allura/allura/nf/allura/css/site_style.css
----------------------------------------------------------------------
diff --git a/Allura/allura/nf/allura/css/site_style.css b/Allura/allura/nf/allura/css/site_style.css
index 7367432..76606af 100644
--- a/Allura/allura/nf/allura/css/site_style.css
+++ b/Allura/allura/nf/allura/css/site_style.css
@@ -3422,3 +3422,9 @@ fieldset.preferences legend {
.ui-autocomplete {
z-index: 10; /* so autocomplete of tags or username is always over markdown editor components */
}
+.spam-present {
+ display: none;
+}
+.spam-text {
+ float: left;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/allura/blob/7a582ace/Allura/allura/templates/widgets/post_widget.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/widgets/post_widget.html b/Allura/allura/templates/widgets/post_widget.html
index 88fa1d1..4912757 100644
--- a/Allura/allura/templates/widgets/post_widget.html
+++ b/Allura/allura/templates/widgets/post_widget.html
@@ -43,7 +43,17 @@
</div>
{% set pending = value.status == 'pending' %}
{% set moderator = h.has_access(value, 'moderator')() %}
- <div class="grid-14" style="width: {{indent == 0 and 525 or (indent <= 40 and 515-indent*10 or 65)}}px">
+ <div class="grid-14 post-content" style="width: {{indent == 0 and 525 or (indent <= 40 and 515-indent*10 or 65)}}px">
+ <div class="spam-present">
+ <span class="spam-text">Comment has been marked as spam. </span>
+ <form method="POST" action="{{value.url()+'moderate'}}">
+ <input type="hidden" name="undo" value="True"/>
+ <a href="" class="moderate_post little_link"><span>Undo</span></a>
+ {{lib.csrf_token()}}
+ </form>
+ <br>
+ <span class="spam-text">You can see all comments posted by this user </span><a href="/p/test/tickets/_discuss/moderate">here</a>
+ </div>
<div class="display_post{% if pending and moderator %} moderate{% endif %}">
{% if pending and not moderator %}
<b>Post awaiting moderation.</b>
http://git-wip-us.apache.org/repos/asf/allura/blob/7a582ace/Allura/allura/tests/functional/test_discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_discuss.py b/Allura/allura/tests/functional/test_discuss.py
index d70664b..47218c8 100644
--- a/Allura/allura/tests/functional/test_discuss.py
+++ b/Allura/allura/tests/functional/test_discuss.py
@@ -208,6 +208,14 @@ class TestDiscuss(TestDiscussBase):
))
assert r_bad_filtered.html.tbody.findAll('tr') == []
+ def test_undo(self):
+ r = self._make_post('Test post')
+ post_link = str(
+ r.html.find('div', {'class': 'edit_post_form reply'}).find('form')['action'])
+ self.app.post(post_link + 'moderate', params=dict(undo='undo'))
+ post = M.Post.query.find().first()
+ assert post.status == 'pending'
+
@patch.object(M.Thread, 'is_spam')
def test_feed_does_not_include_comments_held_for_moderation(self, is_spam):
is_spam.return_value = True