DesignerGrid from django.http import HttpResponseRedirect from apps.managers.predicate_mgr import predicate_mgr class DesignerDraftAdmin(admin.ModelAdmin): """Admin for Drafts.""" list_display = ["name", ] prepopulated_fields = {"slug": ("name",)} admin.site.register(Draft, DesignerDraftAdmin) challenge_designer_site.register(Draft, DesignerDraftAdmin) challenge_manager_site.register(Draft, DesignerDraftAdmin) developer_site.register(Draft, DesignerDraftAdmin) challenge_mgr.register_designer_challenge_info_model("Smart Grid Game Designer", 5, \ Draft, 1) challenge_mgr.register_developer_challenge_info_model("Smart Grid Game Designer", 4, \ Draft, 1) class DesignerActionAdmin(admin.ModelAdmin): """abstract admin for action.""" actions = ["delete_selected", "copy_action"] list_display = ["draft", "slug", "title", "type", "point_value"] search_fields = ["draft", "slug", "title"] list_filter = ['draft', 'type', ] def delete_selected(self, request, queryset): """override the delete selected.""" _ = request for obj in queryset:
"There must be only one Challenge Setting." def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False admin.site.register(ChallengeSetting, ChallengeSettingAdmin) challenge_designer_site.register(ChallengeSetting, ChallengeSettingAdmin) challenge_manager_site.register(ChallengeSetting, ChallengeSettingAdmin) developer_site.register(ChallengeSetting, ChallengeSettingAdmin) admin.site.register(UploadImage) developer_site.register(UploadImage) challenge_mgr.register_designer_challenge_info_model("Challenge", 1, ChallengeSetting, 1) challenge_mgr.register_designer_challenge_info_model("Challenge", 1, RoundSetting, 2) challenge_mgr.register_designer_challenge_info_model("Other Settings", 3, PageInfo, 1) from djcelery.models import CrontabSchedule, PeriodicTask, IntervalSchedule CrontabSchedule.__doc__ = "Defines the schedule in crontab format (minute/hour/day)." developer_site.register(CrontabSchedule) IntervalSchedule.__doc__ = "Defines the schedule in intervals, such as every hour, every minutes." developer_site.register(IntervalSchedule) PeriodicTask.__doc__ = "Defines the scheduled tasks." developer_site.register(PeriodicTask) challenge_mgr.register_developer_challenge_info_model("Challenge", 1, ChallengeSetting, 1) challenge_mgr.register_developer_challenge_info_model("Challenge", 1, RoundSetting, 2)
def team(self, obj): """return the user name.""" return obj.get_profile().team team.short_description = 'Team' def referred_by(self, obj): """return the name of the referrer.""" return obj.get_profile().referring_user referred_by.short_description = 'Referred by' def profile(self, obj): """return the user profile.""" return '<a href="%s/%d/">%s</a>' % ("/admin/player_mgr/profile", obj.get_profile().pk, obj.get_profile().name) profile.allow_tags = True profile.short_description = 'Link to Profile' admin.site.unregister(User) User.__doc__ = "Represents a player in the system." User.admin_tool_tip = "Challenge Players. They must be defined before anyone can play." admin.site.register(User, MakahikiUserAdmin) challenge_designer_site.register(User, MakahikiUserAdmin) challenge_manager_site.register(User, MakahikiUserAdmin) developer_site.register(User, MakahikiUserAdmin) challenge_mgr.register_designer_challenge_info_model("Players", 2, User, 2) challenge_mgr.register_developer_challenge_info_model("Players", 2, User, 3)
admin.site.register(Team, TeamAdmin) challenge_designer_site.register(Team, TeamAdmin) challenge_manager_site.register(Team, TeamAdmin) developer_site.register(Team, TeamAdmin) class PostAdmin(admin.ModelAdmin): """Post administrator for teams, overrides delete_selected""" list_filter = ["style_class", "team"] actions = ["delete_selected"] def delete_selected(self, request, queryset): """delete selected override""" _ = request for obj in queryset: obj.delete() delete_selected.short_description = "Delete the selected objects." admin.site.register(Post, PostAdmin) challenge_designer_site.register(Post, PostAdmin) challenge_manager_site.register(Post, PostAdmin) developer_site.register(Post, PostAdmin) challenge_mgr.register_designer_challenge_info_model("Players", 2, Group, 2) challenge_mgr.register_designer_challenge_info_model("Players", 2, Team, 2) challenge_mgr.register_admin_challenge_info_model("Status", 1, Post, 5) challenge_mgr.register_developer_challenge_info_model("Players", 2, Group, 1) challenge_mgr.register_developer_challenge_info_model("Players", 2, Team, 2) challenge_mgr.register_developer_challenge_info_model("Status", 4, Post, 5)
"start_dynamic_bonus", ] def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False admin.site.register(ReferralSetting, ReferralSettingAdmin) challenge_designer_site.register(ReferralSetting, ReferralSettingAdmin) challenge_manager_site.register(ReferralSetting, ReferralSettingAdmin) developer_site.register(ReferralSetting, ReferralSettingAdmin) challenge_mgr.register_designer_challenge_info_model("Challenge", 1, ScoreSetting, 3) challenge_mgr.register_designer_game_info_model("Referral Game Mechanics", ReferralSetting) challenge_mgr.register_admin_challenge_info_model("Status", 1, PointsTransaction, 4) challenge_mgr.register_admin_challenge_info_model("Status", 1, ScoreboardEntry, 5) challenge_mgr.register_developer_challenge_info_model("Challenge", 1, ScoreSetting, 3) challenge_mgr.register_developer_challenge_info_model("Status", 4, PointsTransaction, 2) challenge_mgr.register_developer_challenge_info_model("Status", 4, ScoreboardEntry, 3) challenge_mgr.register_developer_game_info_model("Referral Game Mechanics", ReferralSetting)
developer_site.register(ScoreSetting, ScoreSettingAdmin) class ReferralSettingAdmin(admin.ModelAdmin): """PointsTransaction administrator interface definition.""" list_display = ["normal_referral_points", "super_referral_points", "mega_referral_points", "start_dynamic_bonus", ] list_display_links = ["normal_referral_points", "super_referral_points", "mega_referral_points", "start_dynamic_bonus", ] def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False admin.site.register(ReferralSetting, ReferralSettingAdmin) challenge_designer_site.register(ReferralSetting, ReferralSettingAdmin) challenge_manager_site.register(ReferralSetting, ReferralSettingAdmin) developer_site.register(ReferralSetting, ReferralSettingAdmin) challenge_mgr.register_designer_challenge_info_model("Challenge", 1, ScoreSetting, 3) challenge_mgr.register_designer_game_info_model("Referral Game Mechanics", ReferralSetting) challenge_mgr.register_admin_challenge_info_model("Status", 1, PointsTransaction, 4) challenge_mgr.register_admin_challenge_info_model("Status", 1, ScoreboardEntry, 5) challenge_mgr.register_developer_challenge_info_model("Challenge", 1, ScoreSetting, 3) challenge_mgr.register_developer_challenge_info_model("Status", 4, PointsTransaction, 2) challenge_mgr.register_developer_challenge_info_model("Status", 4, ScoreboardEntry, 3) challenge_mgr.register_developer_game_info_model("Referral Game Mechanics", ReferralSetting)
obj.slug = slug + "-copy" try: obj.save() except IntegrityError: # How do we indicate an error to the admin? pass copy_action.short_description = "Copy selected Action(s)" def get_urls(self): return redirect_urls(self, "change") admin.site.register(LibraryAction, LibraryActionAdmin) challenge_designer_site.register(LibraryAction, LibraryActionAdmin) challenge_manager_site.register(LibraryAction, LibraryActionAdmin) developer_site.register(LibraryAction, LibraryActionAdmin) challenge_mgr.register_designer_challenge_info_model("Smart Grid Game Library", 4, \ LibraryAction, 2) challenge_mgr.register_developer_challenge_info_model("Smart Grid Game Library", 4, \ LibraryAction, 2) class LibraryColumnNameAdmin(admin.ModelAdmin): """LibraryColumnName Admin.""" list_display = ["name"] prepopulated_fields = {"slug": ("name",)} fields = ["name", "slug"] admin.site.register(LibraryColumnName, LibraryColumnNameAdmin) challenge_designer_site.register(LibraryColumnName, LibraryColumnNameAdmin) challenge_manager_site.register(LibraryColumnName, LibraryColumnNameAdmin) developer_site.register(LibraryColumnName, LibraryColumnNameAdmin) challenge_mgr.register_designer_challenge_info_model("Smart Grid Game Library", 4, \
is_ra.short_description = 'Is RA' def points(self, obj): """return the user name.""" return obj.profile.points() points.short_description = 'Points' def setup_complete(self, obj): """return the user name.""" return obj.profile.setup_complete setup_complete.short_description = 'Setup completed' def referred_by(self, obj): """return the name of the referrer.""" return obj.profile.referring_user referred_by.short_description = 'Referred by' User.__doc__ = "Represents a player in the system." User.admin_tool_tip = "Challenge Players. They must be defined before anyone can play." challenge_designer_site.register(User, MakahikiUserAdmin) challenge_manager_site.register(User, MakahikiUserAdmin) developer_site.register(User, MakahikiUserAdmin) challenge_mgr.register_designer_challenge_info_model("Players", 2, User, 2) challenge_mgr.register_developer_challenge_info_model("Players", 2, User, 3)
obj.slug = slug + "-copy" try: obj.save() except IntegrityError: # How do we indicate an error to the admin? pass copy_action.short_description = "Copy selected Action(s)" def get_urls(self): return redirect_urls(self, "change") admin.site.register(DesignerAction, DesignerActionAdmin) challenge_designer_site.register(DesignerAction, DesignerActionAdmin) challenge_manager_site.register(DesignerAction, DesignerActionAdmin) developer_site.register(DesignerAction, DesignerActionAdmin) challenge_mgr.register_designer_challenge_info_model("Smart Grid Game Designer", 5, \ DesignerAction, 2) challenge_mgr.register_developer_challenge_info_model("Smart Grid Game Designer", 4, \ DesignerAction, 2) class DesignerActivityAdminForm(forms.ModelForm): """Activity Admin Form.""" class Meta: """Meta""" model = DesignerActivity def clean_unlock_condition(self): """Validates the unlock conditions of the action.""" data = self.cleaned_data["unlock_condition"] utils.validate_form_predicates(data) return data
challenge_designer_site.register(Team, TeamAdmin) challenge_manager_site.register(Team, TeamAdmin) developer_site.register(Team, TeamAdmin) class PostAdmin(admin.ModelAdmin): """Post administrator for teams, overrides delete_selected""" list_filter = ["style_class", "team"] actions = ["delete_selected"] def delete_selected(self, request, queryset): """delete selected override""" _ = request for obj in queryset: obj.delete() delete_selected.short_description = "Delete the selected objects." admin.site.register(Post, PostAdmin) challenge_designer_site.register(Post, PostAdmin) challenge_manager_site.register(Post, PostAdmin) developer_site.register(Post, PostAdmin) challenge_mgr.register_designer_challenge_info_model("Players", 2, Group, 2) challenge_mgr.register_designer_challenge_info_model("Players", 2, Team, 2) challenge_mgr.register_admin_challenge_info_model("Status", 1, Post, 5) challenge_mgr.register_developer_challenge_info_model("Players", 2, Group, 1) challenge_mgr.register_developer_challenge_info_model("Players", 2, Team, 2) challenge_mgr.register_developer_challenge_info_model("Status", 4, Post, 5)
list_display = ["name", "unit", "winning_order", "conversion_rate"] readonly_fields = ["name"] def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False admin.site.register(ResourceSetting, ResourceSettingsAdmin) challenge_designer_site.register(ResourceSetting, ResourceSettingsAdmin) challenge_manager_site.register(ResourceSetting, ResourceSettingsAdmin) developer_site.register(ResourceSetting, ResourceSettingsAdmin) class ResourceBlackoutDateAdmin(admin.ModelAdmin): """EnergyGoal administrator interface definition.""" list_display = ["date", "description"] admin.site.register(ResourceBlackoutDate, ResourceBlackoutDateAdmin) challenge_designer_site.register(ResourceBlackoutDate, ResourceBlackoutDateAdmin) challenge_manager_site.register(ResourceBlackoutDate, ResourceBlackoutDateAdmin) developer_site.register(ResourceBlackoutDate, ResourceBlackoutDateAdmin) challenge_mgr.register_designer_challenge_info_model("Other Settings", 3, ResourceBlackoutDate, 4) challenge_mgr.register_developer_challenge_info_model("Resources", 5, ResourceSetting, 1) challenge_mgr.register_developer_challenge_info_model("Resources", 5, ResourceBlackoutDate, 1) challenge_mgr.register_developer_game_info_model("Energy Game", EnergyUsage) challenge_mgr.register_developer_game_info_model("Water Game", WaterUsage) challenge_mgr.register_developer_game_info_model("Waste Game", WasteUsage)
def has_add_permission(self, request): return False def has_delete_permission(self, request, obj=None): return False admin.site.register(ChallengeSetting, ChallengeSettingAdmin) challenge_designer_site.register(ChallengeSetting, ChallengeSettingAdmin) challenge_manager_site.register(ChallengeSetting, ChallengeSettingAdmin) developer_site.register(ChallengeSetting, ChallengeSettingAdmin) admin.site.register(UploadImage) developer_site.register(UploadImage) challenge_mgr.register_designer_challenge_info_model("Challenge", 1, ChallengeSetting, 1) challenge_mgr.register_designer_challenge_info_model("Challenge", 1, RoundSetting, 2) challenge_mgr.register_designer_challenge_info_model("Other Settings", 3, PageInfo, 1) from djcelery.models import CrontabSchedule, PeriodicTask, IntervalSchedule CrontabSchedule.__doc__ = "Defines the schedule in crontab format (minute/hour/day)." developer_site.register(CrontabSchedule) IntervalSchedule.__doc__ = "Defines the schedule in intervals, such as every hour, every minutes." developer_site.register(IntervalSchedule) PeriodicTask.__doc__ = "Defines the scheduled tasks." developer_site.register(PeriodicTask)
"""Admin definition.""" from django.contrib import admin from apps.managers.challenge_mgr import challenge_mgr from apps.widgets.notifications.models import NoticeTemplate, UserNotification from apps.admin.admin import challenge_designer_site, challenge_manager_site, developer_site class UserNotificationAdmin(admin.ModelAdmin): """raffle admin""" list_display = ('recipient', 'content_object', 'content_type', 'unread', 'level') search_fields = ('recipient__username', 'content_type__name') admin.site.register(NoticeTemplate) challenge_designer_site.register(NoticeTemplate) challenge_manager_site.register(NoticeTemplate) developer_site.register(NoticeTemplate) admin.site.register(UserNotification, UserNotificationAdmin) challenge_designer_site.register(UserNotification, UserNotificationAdmin) challenge_manager_site.register(UserNotification, UserNotificationAdmin) developer_site.register(UserNotification, UserNotificationAdmin) challenge_mgr.register_designer_challenge_info_model("Other Settings", 3, NoticeTemplate, 3) challenge_mgr.register_admin_challenge_info_model("Notifications", 3, UserNotification, 2) challenge_mgr.register_developer_challenge_info_model("Status", 4, NoticeTemplate, 5) challenge_mgr.register_developer_challenge_info_model("Status", 4, UserNotification, 5)
"Sub-topics of sub-topics are not " "allowed.") if parent_topic and parent_topic.slug == self.cleaned_data["slug"]: raise forms.ValidationError( "Topic cannot be a sub-topic of itself.") return parent_topic class HelpTopicAdmin(admin.ModelAdmin): """Help topic administrative interface.""" # Automatically populates the slug field. prepopulated_fields = {"slug": ("title",)} list_filter = ["category", ] search_fields = ["slug", "title"] list_display = ["slug", "category", "priority", "parent_topic"] page_text = "Click on the slug to edit the details of the Help Topic. " + \ "There are three categories of Help Topic, FAQs, Rules, and Widget. " + \ "Widget Help Topics are displayed when a player clicks the help link for " + \ "an individual widget. FAQs, and Rules are used by the Help FAQ widget and " + \ "Help Rules widget." form = HelpAdminForm admin.site.register(HelpTopic, HelpTopicAdmin) challenge_designer_site.register(HelpTopic, HelpTopicAdmin) challenge_manager_site.register(HelpTopic, HelpTopicAdmin) developer_site.register(HelpTopic, HelpTopicAdmin) challenge_mgr.register_designer_challenge_info_model("Other Settings", 3, HelpTopic, 2) challenge_mgr.register_developer_challenge_info_model("Challenge", 1, HelpTopic, 5)