summaryrefslogtreecommitdiffstats
path: root/askbot/auth.py
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-08-10 23:49:00 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-08-10 23:49:00 -0400
commitc94414116de4eec9d75013a7b4299f4f7ca78c9f (patch)
tree40d37101f68dd0d0b2fc72b024168ac973cda2dd /askbot/auth.py
parent2d32a08751e699456128489cd2606c4aa015796a (diff)
downloadaskbot-c94414116de4eec9d75013a7b4299f4f7ca78c9f.tar.gz
askbot-c94414116de4eec9d75013a7b4299f4f7ca78c9f.tar.bz2
askbot-c94414116de4eec9d75013a7b4299f4f7ca78c9f.zip
improved error messages and made question restore work
Diffstat (limited to 'askbot/auth.py')
-rw-r--r--askbot/auth.py79
1 files changed, 0 insertions, 79 deletions
diff --git a/askbot/auth.py b/askbot/auth.py
index 381143b5..83a26d48 100644
--- a/askbot/auth.py
+++ b/askbot/auth.py
@@ -18,24 +18,10 @@ import logging
from askbot.conf import settings as askbot_settings
-def can_lock_posts(user):
- """Determines if a User can lock Questions or Answers."""
- return user.is_authenticated() and (
- user.reputation >= askbot_settings.MIN_REP_TO_LOCK_POSTS or
- user.is_superuser)
-
def can_follow_url(user):
"""Determines if the URL link can be followed by Google search engine."""
return user.reputation >= askbot_settings.MIN_REP_TO_DISABLE_URL_NOFOLLOW
-def can_accept_answer(user, question, answer):
- if user.is_superuser:
- return True
- if user.is_authenticated():
- if question.author != answer.author and question.author == user:
- return True
- return False
-
# user preferences view permissions
def is_user_self(request_user, target_user):
return (request_user.is_authenticated() and request_user == target_user)
@@ -364,68 +350,3 @@ def onDownVotedCanceled(vote, post, user, timestamp=None):
reputation_type=5,
reputation=user.reputation)
reputation.save()
-
-#here timestamp is not used, I guess added for consistency
-def onDeleteCanceled(post, user, timestamp=None):
- post.deleted = False
- post.deleted_by = None
- post.deleted_at = None
- post.save()
- if isinstance(post, Answer):
- Question.objects.update_answer_count(post.question)
- elif isinstance(post, Question):
- #todo: make sure that these tags actually exist
- #some may have since been deleted for good
- #or merged into others
- for tag in list(post.tags.all()):
- if tag.used_count == 1 and tag.deleted:
- tag.deleted = False
- tag.deleted_by = None
- tag.deleted_at = None
- tag.save()
-
-def onDeleted(post, user, timestamp=None):
- if timestamp is None:
- timestamp = datetime.datetime.now()
- post.deleted = True
- post.deleted_by = user
- post.deleted_at = timestamp
- post.save()
-
- if isinstance(post, Question):
- for tag in list(post.tags.all()):
- if tag.used_count == 1:
- tag.deleted = True
- tag.deleted_by = user
- tag.deleted_at = timestamp
- else:
- tag.used_count = tag.used_count - 1
- tag.save()
-
- answers = post.answers.all()
- if user == post.author:
- if len(answers) > 0:
- msg = _(
- 'Your question and all of it\'s answers have been deleted'
- )
- else:
- msg = _('Your question has been deleted')
- else:
- if len(answers) > 0:
- msg = _(
- 'The question and all of it\'s answers have been deleted'
- )
- else:
- msg = _('The question has been deleted')
- user.message_set.create(message=msg)
- logging.debug('posted a message %s' % msg)
- for answer in answers:
- onDeleted(answer, user)
- elif isinstance(post, Answer):
- Question.objects.update_answer_count(post.question)
- logging.debug('updated answer count to %d' % post.question.answer_count)
- signals.delete_question_or_answer.send(
- sender=post.__class__,
- instance=post,
- delete_by=user
- )