Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
                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, \
                                                     LibraryColumnName, 1)
challenge_mgr.register_developer_challenge_info_model("Smart Grid Game Library", 4, \
Ejemplo n.º 3
0
from apps.managers.challenge_mgr import challenge_mgr
from apps.managers.log_mgr.models import MakahikiLog
from apps.admin.admin import challenge_designer_site, challenge_manager_site, developer_site


class MakahikiLogAdmin(admin.ModelAdmin):
    """admin"""
    list_display = ('request_url', "remote_user", 'remote_ip', 'request_time',
                    'request_method', 'response_status')
    list_filter = ('response_status', 'remote_user')
    search_fields = ('request_url', 'remote_ip')
    ordering = ["-request_time"]
    date_hierarchy = "request_time"
    formfield_overrides = {
        models.CharField: {
            'widget': TextInput(attrs={'size': '100'})
        },
    }

    def has_add_permission(self, request):
        return False


admin.site.register(MakahikiLog, MakahikiLogAdmin)
challenge_designer_site.register(MakahikiLog, MakahikiLogAdmin)
challenge_manager_site.register(MakahikiLog, MakahikiLogAdmin)
developer_site.register(MakahikiLog, MakahikiLogAdmin)
challenge_mgr.register_admin_challenge_info_model("Status", 1, MakahikiLog, 1)
challenge_mgr.register_developer_challenge_info_model("Status", 4, MakahikiLog,
                                                      1)
Ejemplo n.º 4
0
                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

    def clean(self):
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
                                        "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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
from django.contrib import admin
from apps.lib.avatar.models import Avatar
from apps.managers.challenge_mgr import challenge_mgr
from apps.admin.admin import developer_site

admin.site.register(Avatar)
developer_site.register(Avatar)
Avatar.admin_tool_tip = "Player Avatars"
challenge_mgr.register_developer_challenge_info_model("Players", 2, Avatar, 4)
Ejemplo n.º 9
0
"""daily status widget administrator interface"""

from django.contrib import admin
from apps.widgets.status.models import DailyStatus
from apps.managers.challenge_mgr import challenge_mgr
from apps.admin.admin import challenge_designer_site, challenge_manager_site, developer_site


class DailyStatusAdmin(admin.ModelAdmin):
    """EnergyGoal administrator interface definition."""
    list_display = ["short_date", "daily_visitors", "setup_users", "updated_at"]
    ordering = ["-date"]

admin.site.register(DailyStatus, DailyStatusAdmin)
challenge_designer_site.register(DailyStatus, DailyStatusAdmin)
challenge_manager_site.register(DailyStatus, DailyStatusAdmin)
developer_site.register(DailyStatus, DailyStatusAdmin)
challenge_mgr.register_developer_challenge_info_model("Status", 3, DailyStatus, 7)
Ejemplo n.º 10
0
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)
admin.site.register(Sponsor)
developer_site.register(Sponsor)
challenge_mgr.register_developer_challenge_info_model("Challenge", 1, Sponsor,
                                                      3)
challenge_mgr.register_developer_challenge_info_model("Games", 3, GameInfo, 2)
challenge_mgr.register_developer_challenge_info_model("Games", 3, PageInfo, 1)
challenge_mgr.register_developer_challenge_info_model("Scheduler (Celery)", \
                                                      6, CrontabSchedule, 3)
challenge_mgr.register_developer_challenge_info_model("Scheduler (Celery)", \
                                                      6, IntervalSchedule, 3)
challenge_mgr.register_developer_challenge_info_model("Scheduler (Celery)", \
                                                      6, PeriodicTask, 1)
UploadImage.admin_tool_tip = "Uploaded images"
Ejemplo n.º 11
0
"""log model admin."""
from django.contrib import admin
from django.db import models
from django.forms.widgets import TextInput
from apps.managers.challenge_mgr import challenge_mgr
from apps.managers.log_mgr.models import MakahikiLog
from apps.admin.admin import challenge_designer_site, challenge_manager_site, developer_site


class MakahikiLogAdmin(admin.ModelAdmin):
    """admin"""
    list_display = ('request_url', "remote_user", 'remote_ip', 'request_time',
                    'request_method', 'response_status')
    list_filter = ('response_status', 'remote_user')
    search_fields = ('request_url', 'remote_ip')
    ordering = ["-request_time"]
    date_hierarchy = "request_time"
    formfield_overrides = {
        models.CharField: {'widget': TextInput(attrs={'size': '100'})},
        }

    def has_add_permission(self, request):
        return False

admin.site.register(MakahikiLog, MakahikiLogAdmin)
challenge_designer_site.register(MakahikiLog, MakahikiLogAdmin)
challenge_manager_site.register(MakahikiLog, MakahikiLogAdmin)
developer_site.register(MakahikiLog, MakahikiLogAdmin)
challenge_mgr.register_admin_challenge_info_model("Status", 1, MakahikiLog, 1)
challenge_mgr.register_developer_challenge_info_model("Status", 4, MakahikiLog, 1)
Ejemplo n.º 12
0
"""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)
Ejemplo n.º 13
0
"""daily status widget administrator interface"""

from django.contrib import admin
from apps.widgets.status.models import DailyStatus
from apps.managers.challenge_mgr import challenge_mgr
from apps.admin.admin import challenge_designer_site, challenge_manager_site, developer_site


class DailyStatusAdmin(admin.ModelAdmin):
    """EnergyGoal administrator interface definition."""
    list_display = [
        "short_date", "daily_visitors", "setup_users", "updated_at"
    ]
    ordering = ["-date"]


admin.site.register(DailyStatus, DailyStatusAdmin)
challenge_designer_site.register(DailyStatus, DailyStatusAdmin)
challenge_manager_site.register(DailyStatus, DailyStatusAdmin)
developer_site.register(DailyStatus, DailyStatusAdmin)
challenge_mgr.register_developer_challenge_info_model("Status", 3, DailyStatus,
                                                      7)
Ejemplo n.º 14
0
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)
Ejemplo n.º 15
0

class EmailReminderAdmin(admin.ModelAdmin):
    """reminder admin"""
    readonly_fields = ('user', 'action', 'sent')
    fields = ("send_at", "email_address", 'user', 'action', 'sent')
    list_display = ('send_at', 'user', 'email_address', 'action', 'sent')
    search_fields = ('user__username', 'email_address', 'action__title')


class TextReminderAdmin(admin.ModelAdmin):
    """reminder admin"""
    readonly_fields = ('user', 'action', 'sent')
    fields = ("send_at", "text_number", 'user', 'action', 'sent')
    list_display = ('send_at', 'user', 'text_number', 'action', 'sent')
    search_fields = ('user__username', 'text_number', 'action__title')


admin.site.register(EmailReminder, EmailReminderAdmin)
challenge_designer_site.register(EmailReminder, EmailReminderAdmin)
challenge_manager_site.register(EmailReminder, EmailReminderAdmin)
developer_site.register(EmailReminder, EmailReminderAdmin)
admin.site.register(TextReminder, TextReminderAdmin)
challenge_designer_site.register(TextReminder, TextReminderAdmin)
challenge_manager_site.register(TextReminder, TextReminderAdmin)
developer_site.register(TextReminder, TextReminderAdmin)
challenge_mgr.register_admin_challenge_info_model("Notifications", 2, EmailReminder, 2)
challenge_mgr.register_admin_challenge_info_model("Notifications", 2, TextReminder, 3)
challenge_mgr.register_developer_challenge_info_model("Status", 3, EmailReminder, 7)
challenge_mgr.register_developer_challenge_info_model("Status", 3, TextReminder, 8)
Ejemplo n.º 16
0
    ]

    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)
Ejemplo n.º 17
0
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)
Ejemplo n.º 18
0
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)
admin.site.register(Sponsor)
developer_site.register(Sponsor)
challenge_mgr.register_developer_challenge_info_model("Challenge", 1, Sponsor, 3)
challenge_mgr.register_developer_challenge_info_model("Games", 3, GameInfo, 2)
challenge_mgr.register_developer_challenge_info_model("Games", 3, PageInfo, 1)
challenge_mgr.register_developer_challenge_info_model("Scheduler (Celery)", \
                                                      6, CrontabSchedule, 3)
challenge_mgr.register_developer_challenge_info_model("Scheduler (Celery)", \
                                                      6, IntervalSchedule, 3)
challenge_mgr.register_developer_challenge_info_model("Scheduler (Celery)", \
                                                      6, PeriodicTask, 1)
UploadImage.admin_tool_tip = "Uploaded images"
challenge_mgr.register_developer_challenge_info_model("Misc", 7, UploadImage, 1)
Ejemplo n.º 19
0
    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)
Ejemplo n.º 20
0
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:
            obj.delete()
Ejemplo n.º 21
0
"""Energy goal widget administrator interface; shows the projects, actual vs. goal, last update."""

from django.contrib import admin
from apps.managers.challenge_mgr import challenge_mgr
from apps.widgets.projects.models import Comment, Goal, Project
from apps.admin.admin import challenge_designer_site, challenge_manager_site, developer_site

class ProjectAdmin(admin.ModelAdmin):
    """Project administrator interface definition."""
    list_display = ["title", "short_description", "long_description", "number_of_members",
                    "created", "deadline", "upvotes", "points", "status"]

admin.site.register(Project, ProjectAdmin)
challenge_designer_site.register(Project, ProjectAdmin)
challenge_manager_site.register(Project, ProjectAdmin)
developer_site.register(Project, ProjectAdmin)
challenge_mgr.register_designer_game_info_model("Projects", Project)
challenge_mgr.register_admin_game_info_model("Projects", Project)
challenge_mgr.register_admin_challenge_info_model("Projects", 1, Project, 1)
challenge_mgr.register_developer_challenge_info_model("Projects", 1, Project, 1)

class CommentAdmin(admin.ModelAdmin):
    """Comment administrator interface definition"""