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(
"""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'),
"""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'), )
"""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}, )
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,
"""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', ),
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={
"""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'), )