Esempio n. 1
0
            talk = models.Talk.query.get(pk)
            talk.status = 'accepted'
        self.session.commit()

    @actions.action(
        'reject', 'Reject', 'Are you sure you want to reject selected models?')
    def reject(self, talks):
        for pk in talks:
            talk = models.Talk.query.get(pk)
            talk.status = 'rejected'
        self.session.commit()


CategoryModelView = model_view(
    models.Category,
    'Categories',
    CATEGORY,
    form_columns=('name', 'slug'),
)

DurationModelView = model_view(
    models.Duration,
    'Durations',
    CATEGORY,
)


talk_model_view = TalkModelView(
    models.Talk, db.session, 'Talks', CATEGORY, 'talks')


TalkReviewModelView = model_view(
Esempio n. 2
0
"""Admin for sponsor-related models."""

from pygotham.admin.utils import model_view
from pygotham.sponsors import models

__all__ = ('LevelModelView', 'SponsorModelView')

CATEGORY = 'Sponsors'


LevelModelView = model_view(
    models.Level,
    'Levels',
    CATEGORY,
    column_default_sort=('order', 'name'),
    column_filters=('event.slug', 'event.name'),
    column_list=('name', 'order', 'event'),
    form_columns=('name', 'description', 'cost', 'order', 'limit', 'event'),
)


SponsorModelView = model_view(
    models.Sponsor,
    'Sponsors',
    CATEGORY,
    column_filters=('level', 'accepted', 'level.event.slug', 'level.event.name'),
    column_list=(
        'name', 'level', 'contact_name', 'contact_email', 'accepted',
        'payment_received',
    ),
    column_searchable_list=('name', 'contact_name'),
Esempio n. 3
0
"""Admin for schedule-related models."""

from pygotham.admin.utils import model_view
from pygotham.schedule import models

# This line is really long because pep257 needs it to be on one line.
__all__ = ('DayModelView', 'RoomModelView', 'SlotModelView', 'PresentationModelView')

CATEGORY = 'Schedule'


DayModelView = model_view(
    models.Day,
    'Days',
    CATEGORY,
    column_default_sort='date',
    column_filters=('event.slug', 'event.name'),
    column_list=('date', 'event'),
    form_columns=('event', 'date'),
)


RoomModelView = model_view(
    models.Room,
    'Rooms',
    CATEGORY,
    column_default_sort='order',
    form_columns=('name', 'order'),
)

Esempio n. 4
0
"""Admin for user-related models."""

from wtforms.validators import Optional
from wtforms_alchemy import Unique

from pygotham.admin.utils import model_view
from pygotham.fields import TwitterField
from pygotham.users import models

__all__ = ('RoleModelView', 'UserModelView')


RoleModelView = model_view(models.Role, 'Roles', 'Users')

UserModelView = model_view(
    models.User,
    'Users',
    'Users',
    column_list=('name', 'email', 'twitter_handle', 'active'),
    column_searchable_list=('name', 'email'),
    form_args={
        'twitter_handle': {
            'validators': [Unique(models.User.twitter_handle), Optional()],
        },
    },
    form_columns=('name', 'email', 'twitter_handle', 'bio', 'active', 'roles'),
    form_overrides={'twitter_handle': TwitterField},
)
Esempio n. 5
0
CATEGORY = 'Events'


EventModelView = model_view(
    models.Event,
    'Events',
    CATEGORY,
    column_list=('name', 'slug', 'begins', 'ends', 'active'),
    form_excluded_columns=(
        'about_pages',
        'announcements',
        'calls_to_action',
        'days',
        'sponsor_levels',
        'talks',
        'volunteers',
    ),
    form_overrides={
        'activity_begins': wtforms.DateTimeField,
        'activity_ends': wtforms.DateTimeField,
        'proposals_begin': wtforms.DateTimeField,
        'proposals_end': wtforms.DateTimeField,
        'registration_begins': wtforms.DateTimeField,
        'registration_ends': wtforms.DateTimeField,
        'talk_list_begins': wtforms.DateTimeField,
        'talk_schedule_begins': wtforms.DateTimeField,
    },
)

VolunteerModelView = model_view(
    models.Volunteer,
Esempio n. 6
0
"""Admin for sponsor-related models."""

from pygotham.admin.utils import model_view
from pygotham.sponsors import models

__all__ = ('LevelModelView', 'SponsorModelView')

CATEGORY = 'Sponsors'


LevelModelView = model_view(
    models.Level,
    'Levels',
    CATEGORY,
    column_default_sort=('order', 'name'),
    column_filters=('event.slug', 'event.name'),
    column_list=('name', 'order', 'event'),
    form_columns=('name', 'description', 'cost', 'order', 'limit', 'event'),
)


SponsorModelView = model_view(
    models.Sponsor,
    'Sponsors',
    CATEGORY,
    column_filters=(
        'level', 'accepted', 'level.event.slug', 'level.event.name'),
    column_list=(
        'name', 'level', 'contact_name', 'contact_email', 'accepted',
        'payment_received',
    ),
Esempio n. 7
0
CATEGORY = 'Events'

EventModelView = model_view(
    models.Event,
    'Events',
    CATEGORY,
    column_list=('name', 'slug', 'begins', 'ends', 'active'),
    form_excluded_columns=(
        'about_pages',
        'announcements',
        'calls_to_action',
        'days',
        'sponsor_levels',
        'talks',
        'volunteers',
    ),
    form_overrides={
        'activity_begins': wtforms.DateTimeField,
        'activity_ends': wtforms.DateTimeField,
        'proposals_begin': wtforms.DateTimeField,
        'proposals_end': wtforms.DateTimeField,
        'registration_begins': wtforms.DateTimeField,
        'registration_ends': wtforms.DateTimeField,
        'talk_list_begins': wtforms.DateTimeField,
        'talk_schedule_begins': wtforms.DateTimeField,
    },
)

VolunteerModelView = model_view(
    models.Volunteer,
Esempio n. 8
0
import wtforms

from pygotham.admin.utils import model_view
from pygotham.news import models

__all__ = ('AnnouncementModelView', 'CallToActionModelView')

CATEGORY = 'News'


AnnouncementModelView = model_view(
    models.Announcement,
    'Announcements',
    CATEGORY,
    column_default_sort='published',
    column_filters=('event.slug', 'event.name'),
    column_list=('title', 'published', 'active'),
    form_columns=('title', 'content', 'active', 'published'),
    form_overrides={
        'published': wtforms.DateTimeField,
    },
)

CallToActionModelView = model_view(
    models.CallToAction,
    'Calls to Action',
    CATEGORY,
    column_default_sort='begins',
    column_filters=('event.slug', 'event.name'),
    column_list=('title', 'event', 'begins', 'ends', 'active'),
    form_columns=('title', 'url', 'event', 'begins', 'ends', 'active'),
    form_overrides={
Esempio n. 9
0
"""Admin for AboutPage models."""

from pygotham.admin.utils import model_view
from pygotham.about import models

__all__ = ('AboutPageModelView',)


AboutPageModelView = model_view(
    models.AboutPage,
    'About Pages',
    'About',
    column_default_sort='title',
    column_filters=('event.slug', 'event.name'),
    column_list=('title', 'navbar_section', 'event', 'active'),
    form_columns=('title', 'slug', 'navbar_section', 'content', 'event', 'active'),
)