from mediadrop.forms.admin import SearchForm from mediadrop.forms.admin.comments import EditCommentForm from mediadrop.lib.auth import has_permission from mediadrop.lib.base import BaseController from mediadrop.lib.decorators import (autocommit, expose, expose_xhr, observable, paginate) from mediadrop.lib.helpers import redirect, url_for from mediadrop.model import Comment, Media, fetch_row from mediadrop.model.meta import DBSession from mediadrop.plugin import events import logging log = logging.getLogger(__name__) edit_form = EditCommentForm() search_form = SearchForm( action=url_for(controller='/admin/comments', action='index')) class CommentsController(BaseController): allow_only = has_permission('edit') @expose_xhr('admin/comments/index.html', 'admin/comments/index-table.html') @paginate('comments', items_per_page=25) @observable(events.Admin.CommentsController.index) def index(self, page=1, search=None, media_filter=None, **kwargs): """List comments with pagination and filtering. :param page: Page number, defaults to 1. :type page: int :param search: Optional search term to filter by :type search: unicode or None
from mediadrop.lib.templating import render from mediadrop.lib.thumbnails import thumb_path, thumb_paths, create_thumbs_for, create_default_thumbs_for, has_thumbs, has_default_thumbs, delete_thumbs from mediadrop.model import (Author, Category, Media, Podcast, Tag, fetch_row, get_available_slug, slugify) from mediadrop.model.meta import DBSession from mediadrop.plugin import events import logging log = logging.getLogger(__name__) media_form = MediaForm() add_file_form = AddFileForm() edit_file_form = EditFileForm() thumb_form = ThumbForm() update_status_form = UpdateStatusForm() search_form = SearchForm( action=url_for(controller='/admin/media', action='index')) class MediaController(BaseController): allow_only = has_permission('edit') @expose_xhr('admin/media/index.html', 'admin/media/index-table.html') @paginate('media', items_per_page=15) @observable(events.Admin.MediaController.index) def index(self, page=1, search=None, filter=None, podcast=None, category=None, tag=None,