Example #1
0
from apps.managers.challenge_mgr import challenge_mgr

from apps.managers.score_mgr.models import ScoreSetting, ScoreboardEntry, PointsTransaction


class PointsTransactionAdmin(admin.ModelAdmin):
    """PointsTransaction administrator interface definition."""
    list_display = ["user", "transaction_date", "points", "message"]

admin.site.register(PointsTransaction, PointsTransactionAdmin)


class ScoreboardEntryAdmin(admin.ModelAdmin):
    """PointsTransaction administrator interface definition."""
    list_display = ["round_name", "profile", "points", "last_awarded_submission"]

admin.site.register(ScoreboardEntry, ScoreboardEntryAdmin)


class ScoreSettingAdmin(admin.ModelAdmin):
    """PointsTransaction administrator interface definition."""
    list_display = ["setup_points", "referral_bonus_points", "active_threshold_points",
                    "signup_bonus_points", "noshow_penalty_points", "feedback_bonus_points", ]

admin.site.register(ScoreSetting, ScoreSettingAdmin)


challenge_mgr.register_site_admin_model("Challenge", ScoreSetting)
challenge_mgr.register_sys_admin_model("Logs", PointsTransaction)
challenge_mgr.register_sys_admin_model("Logs", ScoreboardEntry)
Example #2
0
"""Admin definition."""
from django.contrib import admin
from apps.managers.challenge_mgr import challenge_mgr
from apps.widgets.notifications.models import NoticeTemplate, UserNotification


class UserNotificationAdmin(admin.ModelAdmin):
    """raffle admin"""
    list_display = ('recipient', 'unread', 'level')


admin.site.register(NoticeTemplate)
admin.site.register(UserNotification, UserNotificationAdmin)
challenge_mgr.register_sys_admin_model("Notifications", NoticeTemplate)
challenge_mgr.register_sys_admin_model("Notifications", UserNotification)
Example #3
0
    """The admin form for help topics."""
    class Meta:
        """meta"""
        model = HelpTopic

    def clean_parent_topic(self):
        """Prevents sub-topics of sub-topics.  Not possible with the current template layout."""

        parent_topic = self.cleaned_data["parent_topic"]
        if parent_topic and parent_topic.parent_topic:
            raise forms.ValidationError("This topic is also a sub-topic. "
                                        "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", ]

    form = HelpAdminForm

admin.site.register(HelpTopic, HelpTopicAdmin)
challenge_mgr.register_sys_admin_model("Other Settings", HelpTopic)
Example #4
0
                    "approval_status", "points_awarded", "admin_comment")
            else:
                self.fields = (
                        "user", "action", "admin_link", "social_email", "completion_date",
                        "approval_status")

        return super(ActionMemberAdmin, self).get_form(request, obj, **kwargs)

admin.site.register(ActionMember, ActionMemberAdmin)
challenge_mgr.register_game_admin_model("smartgrid", ActionMember)


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', 'sent')


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', 'sent')


admin.site.register(EmailReminder, EmailReminderAdmin)
admin.site.register(TextReminder, TextReminderAdmin)
challenge_mgr.register_sys_admin_model("Notifications", EmailReminder)
challenge_mgr.register_sys_admin_model("Notifications", TextReminder)
Example #5
0
"""Energy goal widget administrator interface; shows the team, actual vs. goal, last update."""

from django.contrib import admin
from apps.managers.challenge_mgr import challenge_mgr
from apps.managers.resource_mgr.models import WaterUsage
from apps.widgets.resource_goal.admin import GoalSettingsAdmin, GoalAdmin, BaselineDailyAdmin
from apps.widgets.resource_goal.models import WaterGoalSetting, WaterGoal, WaterBaselineDaily


admin.site.register(WaterGoalSetting, GoalSettingsAdmin)
admin.site.register(WaterGoal, GoalAdmin)
admin.site.register(WaterBaselineDaily, BaselineDailyAdmin)

challenge_mgr.register_game_admin_model("resource_goal.water", WaterGoalSetting)
challenge_mgr.register_game_admin_model("resource_goal.water", WaterUsage)
challenge_mgr.register_game_admin_model("resource_goal.water", WaterGoal)

challenge_mgr.register_sys_admin_model("Resource Settings", WaterBaselineDaily)
Example #6
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


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

admin.site.register(MakahikiLog, MakahikiLogAdmin)
challenge_mgr.register_sys_admin_model("Logs", MakahikiLog)
Example #7
0
"""Energy goal widget administrator interface; shows the team, actual vs. goal, last update."""

from django.contrib import admin
from apps.managers.challenge_mgr import challenge_mgr
from apps.managers.resource_mgr.models import EnergyUsage
from apps.widgets.resource_goal.admin import GoalSettingsAdmin, GoalAdmin, BaselineDailyAdmin, \
    BaselineHourlyAdmin
from apps.widgets.resource_goal.models import EnergyGoalSetting, EnergyGoal, EnergyBaselineDaily, \
    EnergyBaselineHourly


admin.site.register(EnergyGoalSetting, GoalSettingsAdmin)
admin.site.register(EnergyGoal, GoalAdmin)
admin.site.register(EnergyBaselineDaily, BaselineDailyAdmin)
admin.site.register(EnergyBaselineHourly, BaselineHourlyAdmin)

challenge_mgr.register_game_admin_model("resource_goal.energy", EnergyGoalSetting)
challenge_mgr.register_game_admin_model("resource_goal.energy", EnergyUsage)
challenge_mgr.register_game_admin_model("resource_goal.energy", EnergyGoal)

challenge_mgr.register_sys_admin_model("Resource Settings", EnergyBaselineDaily)
challenge_mgr.register_sys_admin_model("Resource Settings", EnergyBaselineHourly)
Example #8
0
                   ("email_host", "email_port", "email_use_tls"), )}),
        ("Landing Page",
             {"fields":
                  ("landing_slogan",
                   "landing_introduction",
                   "landing_participant_text",
                   "landing_non_participant_text", )}),
        ("About Page",
            {"fields":
                  ("about_page_text", )}),
    )

    inlines = [SponsorsInline]

    formfield_overrides = {
        models.TextField: {'widget': Textarea(attrs={'rows': 2, 'cols': 70})},
        }

admin.site.register(ChallengeSetting, ChallengeSettingAdmin)
admin.site.register(UploadImage)

challenge_mgr.register_site_admin_model("Challenge", ChallengeSetting)
challenge_mgr.register_site_admin_model("Challenge", RoundSetting)
challenge_mgr.register_sys_admin_model("Other Settings", PageInfo)
challenge_mgr.register_sys_admin_model("Other Settings", GameInfo)

from djcelery.models import CrontabSchedule, PeriodicTask, IntervalSchedule
challenge_mgr.register_sys_admin_model("Celery Scheduler", CrontabSchedule)
challenge_mgr.register_sys_admin_model("Celery Scheduler", IntervalSchedule)
challenge_mgr.register_sys_admin_model("Celery Scheduler", PeriodicTask)
Example #9
0
from apps.managers.challenge_mgr import challenge_mgr

from apps.managers.resource_mgr.models import EnergyUsage, WaterUsage, ResourceSetting, \
    ResourceBlackoutDate


class UsageAdmin(admin.ModelAdmin):
    """Administrator display list: team, date, and energy."""
    list_display = ["date", "team", "time", "usage", "updated_at"]
    search_fields = ["team__name", ]
    list_filter = ['team', 'date']

admin.site.register(EnergyUsage, UsageAdmin)
admin.site.register(WaterUsage, UsageAdmin)


class ResourceSettingsAdmin(admin.ModelAdmin):
    """Administrator display list: team, date, and energy."""
    list_display = ["name", "unit", "winning_order", ]

admin.site.register(ResourceSetting, ResourceSettingsAdmin)
challenge_mgr.register_sys_admin_model("Resource Settings", ResourceSetting)


class ResourceBlackoutDateAdmin(admin.ModelAdmin):
    """EnergyGoal administrator interface definition."""
    list_display = ["date", "description"]

admin.site.register(ResourceBlackoutDate, ResourceBlackoutDateAdmin)
challenge_mgr.register_sys_admin_model("Resource Settings", ResourceBlackoutDate)