summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-07-27 13:19:32 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-07-27 13:19:32 -0400
commit9a489d9acbe38b403750acd292990460083c6850 (patch)
tree76a4ffc4da57be0b7d1d6f6ec8fbf45de05e8488
parent6849a323ef40a1a4b261fdcf0905fc13334d3c6d (diff)
downloadaskbot-9a489d9acbe38b403750acd292990460083c6850.tar.gz
askbot-9a489d9acbe38b403750acd292990460083c6850.tar.bz2
askbot-9a489d9acbe38b403750acd292990460083c6850.zip
draft in answers works, disabled on page leave dialog in the ask page
-rw-r--r--askbot/skins/default/templates/ask.html4
-rw-r--r--askbot/views/commands.py3
-rw-r--r--askbot/views/readers.py21
-rw-r--r--askbot/views/writers.py5
4 files changed, 22 insertions, 11 deletions
diff --git a/askbot/skins/default/templates/ask.html b/askbot/skins/default/templates/ask.html
index 7826923b..4daece9e 100644
--- a/askbot/skins/default/templates/ask.html
+++ b/askbot/skins/default/templates/ask.html
@@ -74,8 +74,8 @@
window.onbeforeunload = function() {
var saveHandler = draftHandler.getSaveHandler();
saveHandler(true);
- var msg = gettext("%s, we've saved your draft, but...");
- return interpolate(msg, [askbot['data']['userName']]);
+ //var msg = gettext("%s, we've saved your draft, but...");
+ //return interpolate(msg, [askbot['data']['userName']]);
};
}
});
diff --git a/askbot/views/commands.py b/askbot/views/commands.py
index d4e7304e..0757aa6d 100644
--- a/askbot/views/commands.py
+++ b/askbot/views/commands.py
@@ -1094,9 +1094,6 @@ def save_draft_answer(request):
if request.user.is_anonymous():
return
- import pdb
- pdb.set_trace()
-
form = forms.DraftAnswerForm(request.POST)
if form.is_valid():
thread_id = form.cleaned_data['thread_id']
diff --git a/askbot/views/readers.py b/askbot/views/readers.py
index 467282e5..b0c95922 100644
--- a/askbot/views/readers.py
+++ b/askbot/views/readers.py
@@ -536,12 +536,21 @@ def question(request, id):#refactor - long subroutine. display question body, an
elif show_comment_position > askbot_settings.MAX_COMMENTS_TO_SHOW:
is_cacheable = False
- answer_form = AnswerForm(
- initial = {
- 'wiki': question_post.wiki and askbot_settings.WIKI_ON,
- 'email_notify': thread.is_followed_by(request.user)
- }
- )
+ initial = {
+ 'wiki': question_post.wiki and askbot_settings.WIKI_ON,
+ 'email_notify': thread.is_followed_by(request.user)
+ }
+ #maybe load draft
+ if request.user.is_authenticated():
+ #todo: refactor into methor on thread
+ drafts = models.DraftAnswer.objects.filter(
+ author=request.user,
+ thread=thread
+ )
+ if drafts.count() > 0:
+ initial['text'] = drafts[0].text
+
+ answer_form = AnswerForm(initial)
user_can_post_comment = (
request.user.is_authenticated() and request.user.can_post_comment()
diff --git a/askbot/views/writers.py b/askbot/views/writers.py
index b4c58547..5dc1786e 100644
--- a/askbot/views/writers.py
+++ b/askbot/views/writers.py
@@ -535,6 +535,11 @@ def answer(request, id):#process a new answer
update_time = datetime.datetime.now()
if request.user.is_authenticated():
+ drafts = models.DraftAnswer.objects.filter(
+ author=request.user,
+ thread=question.thread
+ )
+ drafts.delete()
try:
follow = form.cleaned_data['email_notify']
is_private = form.cleaned_data['post_privately']