diff options
Diffstat (limited to 'mediagoblin/moderation')
-rw-r--r-- | mediagoblin/moderation/tools.py | 16 | ||||
-rw-r--r-- | mediagoblin/moderation/views.py | 28 |
2 files changed, 24 insertions, 20 deletions
diff --git a/mediagoblin/moderation/tools.py b/mediagoblin/moderation/tools.py index 0bcd8762..73afd051 100644 --- a/mediagoblin/moderation/tools.py +++ b/mediagoblin/moderation/tools.py @@ -17,7 +17,7 @@ import six from mediagoblin import mg_globals -from mediagoblin.db.models import User, Privilege, UserBan +from mediagoblin.db.models import User, Privilege, UserBan, LocalUser from mediagoblin.db.base import Session from mediagoblin.tools.mail import send_email from mediagoblin.tools.response import redirect @@ -68,14 +68,14 @@ def take_punitive_actions(request, form, report, user): if u'delete' in form.action_to_resolve.data and \ report.is_comment_report(): - deleted_comment = report.comment + deleted_comment = report.obj() Session.delete(deleted_comment) form.resolution_content.data += \ _(u"\n{mod} deleted the comment.").format( mod=request.user.username) elif u'delete' in form.action_to_resolve.data and \ report.is_media_entry_report(): - deleted_media = report.media_entry + deleted_media = report.obj() deleted_media.delete() form.resolution_content.data += \ _(u"\n{mod} deleted the media entry.").format( @@ -122,8 +122,9 @@ def take_away_privileges(user,*privileges): if len(privileges) == 1: privilege = Privilege.query.filter( Privilege.privilege_name==privileges[0]).first() - user = User.query.filter( - User.username==user).first() + user = LocalUser.query.filter( + LocalUser.username==user + ).first() if privilege in user.all_privileges: user.all_privileges.remove(privilege) return True @@ -154,8 +155,9 @@ def give_privileges(user,*privileges): if len(privileges) == 1: privilege = Privilege.query.filter( Privilege.privilege_name==privileges[0]).first() - user = User.query.filter( - User.username==user).first() + user = LocalUser.query.filter( + LocalUser.username==user + ).first() if privilege not in user.all_privileges: user.all_privileges.append(privilege) return True diff --git a/mediagoblin/moderation/views.py b/mediagoblin/moderation/views.py index f4de11ad..fdcbf051 100644 --- a/mediagoblin/moderation/views.py +++ b/mediagoblin/moderation/views.py @@ -15,8 +15,8 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -from mediagoblin.db.models import (MediaEntry, User,ReportBase, Privilege, - UserBan) +from mediagoblin.db.models import (MediaEntry, User, Report, Privilege, + UserBan, LocalUser) from mediagoblin.decorators import (require_admin_or_moderator_login, active_user_from_url, user_has_privilege, allow_reporting) @@ -79,11 +79,13 @@ def moderation_users_detail(request): ''' Shows details about a particular user. ''' - user = User.query.filter_by(username=request.matchdict['user']).first() + user = LocalUser.query.filter( + LocalUser.username==request.matchdict['user'] + ).first() active_reports = user.reports_filed_on.filter( - ReportBase.resolved==None).limit(5) + Report.resolved==None).limit(5) closed_reports = user.reports_filed_on.filter( - ReportBase.resolved!=None).all() + Report.resolved!=None).all() privileges = Privilege.query user_banned = UserBan.query.get(user.id) ban_form = moderation_forms.BanForm() @@ -114,23 +116,23 @@ def moderation_reports_panel(request): active_settings['current_page'] = form.active_p.data or 1 closed_settings['current_page'] = form.closed_p.data or 1 filters = [ - getattr(ReportBase,key)==val + getattr(Report,key)==val for key,val in filters.viewitems()] - all_active = ReportBase.query.filter( - ReportBase.resolved==None).filter( + all_active = Report.query.filter( + Report.resolved==None).filter( *filters) - all_closed = ReportBase.query.filter( - ReportBase.resolved!=None).filter( + all_closed = Report.query.filter( + Report.resolved!=None).filter( *filters) # report_list and closed_report_list are the two lists of up to 10 # items which are actually passed to the user in this request report_list = all_active.order_by( - ReportBase.created.desc()).offset( + Report.created.desc()).offset( (active_settings['current_page']-1)*10).limit(10) closed_report_list = all_closed.order_by( - ReportBase.created.desc()).offset( + Report.created.desc()).offset( (closed_settings['current_page']-1)*10).limit(10) active_settings['last_page'] = int(ceil(all_active.count()/10.)) @@ -153,7 +155,7 @@ def moderation_reports_detail(request): erator would go to to take an action to resolve a report. """ form = moderation_forms.ReportResolutionForm(request.form) - report = ReportBase.query.get(request.matchdict['report_id']) + report = Report.query.get(request.matchdict['report_id']) form.take_away_privileges.choices = [ (s.privilege_name,s.privilege_name.title()) \ |