Exemple #1
0
class TitleAdmin(AdministratorBase):
    column_sortable_list= ('name', ('publisher', Publisher.name))
    def __init__(self, session):
        # Just call parent class with predefined model.
        super(TitleAdmin, self).__init__(Title, session)

    form_ajax_refs = {
        'users': QueryAjaxModelLoader(
            'users',
            db.session,
            User,
            fields=['email'],
            page_size=10),
        'issues': QueryAjaxModelLoader(
            'issues',
            db.session,
            Issue,
            fields=['complete_title'],
            page_size=10),
        'publisher': QueryAjaxModelLoader(
            'publisher',
            db.session,
            Publisher,
            fields=['name'],
            page_size=10)
    }
Exemple #2
0
class IssueAdmin(AdministratorBase):
    edit_template = 'edit_issue_model.html'
    # List of columns that can be sorted
    column_sortable_list = ('issue_number', 'complete_title', 'on_sale_date',
                            ('title',Title.name), ('publisher', Publisher.name))
    column_searchable_list = ('complete_title', 'diamond_id')
    column_list = ('on_sale_date', 'prospective_release_date', 'diamond_id',
                   'old_diamond_id', 'issue_number', 'issues', 'complete_title',
                   'title', 'publisher')
    form_excluded_columns = ('cover_image', 'bundles')

    form_ajax_refs = {
            'title': QueryAjaxModelLoader(
                'title',
                db.session,
                Title,
                fields=['name'],
                page_size=10),
            'publisher': QueryAjaxModelLoader(
                'publisher',
                db.session,
                Publisher,
                fields=['name'],
                page_size=10),
            'creators': QueryAjaxModelLoader(
                'creators',
                db.session,
                Creator,
                fields=['name'],
                page_size=10)
    }

    def __init__(self, session):
        # Just call parent class with predefined model.
        super(IssueAdmin, self).__init__(Issue, session)

    def on_model_change(self, form, model):
        """Sets last_updated attribute of issue object"""
        model.last_updated = datetime.now()
        return

    def set_on_sale_date(self, ids, date):
        try:
            issues = Issue.query.filter(Issue.id.in_(*ids)).all()
            for issue in issues:
                issue.update(**{'on_sale_date': date})
        except Exception, ex:
            flash(gettext('Failed to set date %(error)s', error=str(ex)), 'error')
        return
Exemple #3
0
class DiamondListAdmin(SuperUserBase):
    def __init__(self, session):
        super(DiamondListAdmin, self).__init__(DiamondList, session)

    form_ajax_refs = {'issues': QueryAjaxModelLoader('issues', db.session,
        Issue, fields=['complete_title'], page_size=10)}
    column_list = ('date_created', 'date', 'revision', 'hash_string',)
    form_ajax_refs = {
        'issues': QueryAjaxModelLoader(
            'issues',
            db.session,
            Issue,
            fields=['complete_title'],
            page_size=10),
    }
Exemple #4
0
class InventoryIngredientsAdmin(sqla.ModelView):
    form_ajax_refs = {
        'ingredient_id':
        QueryAjaxModelLoader('ingredient',
                             db.session,
                             Ingredient,
                             fields=['title'],
                             page_size=10),
    }
Exemple #5
0
class BundleAdmin(AdministratorBase):
    def __init__(self, session):
        # Just call parent class with predefined model.
        super(BundleAdmin, self).__init__(Bundle, session)

    form_ajax_refs = {
        'issues': QueryAjaxModelLoader(
            'issues',
            db.session,
            Issue,
            fields=['complete_title'],
            page_size=10),
        'user': QueryAjaxModelLoader(
            'user',
            db.session,
            User,
            fields=['email'],
            page_size=10)
    }
Exemple #6
0
def get_loader_by_name(name):
    _dicts = {
        'user':
        QueryAjaxModelLoader('user',
                             db.session,
                             User,
                             fields=['first_name', 'last_name', 'email'],
                             page_size=10,
                             placeholder="Select a user")
    }
    return _dicts.get(name, None)
Exemple #7
0
class RoleAdmin(SuperUserBase):
    def __init__(self, session):
        # Just call parent class with predefined model.
        super(RoleAdmin, self).__init__(Role, session)

    form_ajax_refs = {
        'users': QueryAjaxModelLoader(
            'users',
            db.session,
            User,
            fields=['email'],
            page_size=10)
    }
Exemple #8
0
class PublisherAdmin(AdministratorBase):
    def __init__(self, session):
        # Just call parent class with predefined model.
        super(PublisherAdmin, self).__init__(Publisher, session)

    form_excluded_columns = ('titles', 'comics')
    form_ajax_refs = {
        'users': QueryAjaxModelLoader(
            'users',
            db.session,
            User,
            fields=['email'],
            page_size=10),
    }
Exemple #9
0
class UserAdmin(SuperUserBase):
    column_list = ('email', 'last_seen', 'login_count', 'pull_list', 'roles')
    column_searchable_list = ('email',)

    form_excluded_columns = ('bundles',)
    form_ajax_refs = {
        'pull_list': QueryAjaxModelLoader(
            'pull_list',
            db.session,
            Title,
            fields=['name'],
            page_size=10)
    }

    def __init__(self, session):
        # Just call parent class with predefined model.
        super(UserAdmin, self).__init__(User, session)