示例#1
0
    
    def get_context_data(self, **kwargs):
        context = super(WorkStudyReportsDashlet, self).get_context_data(**kwargs)
        try:
            active_year = SchoolYear.objects.get(active_year=True)
        except SchoolYear.DoesNotExist:
            messages.warning(self.request, 'No active year set. Please create an active year!')
            return context
    
        form = ReportBuilderForm(initial={'custom_billing_begin':active_year.start_date,'custom_billing_end':active_year.end_date})
        template_form = ReportTemplateForm()
        context = dict(context.items() + {
            'form': form,
            'template_form': template_form,
        }.items())
        return context


class WorkStudyDashboard(Dashboard):
    app = 'work_study'
    dashlets = [
        ReportBuilderDashlet(title="Reports",),
        WorkStudyReportsDashlet(title="Work Study Reports"),
        TimeSheetDashlet(title="Time Sheets",),
        WorkStudyAttendanceDashlet(title="Work Study Attendance"),
        AdminListDashlet(title="Edit Work Study", app_label="work_study"),
    ]


dashboards.register('work_study', WorkStudyDashboard)
示例#2
0
        Tests that the testuser was found.
        """
        response = self.client.get('/tests/dashboard/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'testuser', html=True)
        self.assertContains(response, '*****@*****.**', html=True)


class UserListDashlet(ListDashlet):
    """Sample model list dashlet."""
    model = User
    fields = ('username', 'email', 'is_superuser')
    columns = 2
    count = 8
    require_permissions_or = ('admin.change_user', 'admin.view_user')
    order_by = ('-id', )


class TestDashboard(Dashboard):
    """Sample dashboard."""
    app = 'tests'
    title = "Tests"
    dashlets = [
        AdminListDashlet(title="User Management", app_label="auth"),
        UserListDashlet(title="User List"),
        LinksListDashlet(title="Links")
    ]


dashboards.register('tests', TestDashboard)
示例#3
0
    show_custom_link = '/admin/report_builder/report/?root_model__app_label=attendance'
    custom_link_text = "Reports"
    def get_context_data(self, **kwargs):
        self.queryset = Report.objects.filter(root_model__app_label='attendance')
        # Show only starred when there are a lot of reports
        if self.queryset.count() > self.count:
            self.queryset = self.queryset.filter(starred=self.request.user)
        return super(ReportBuilderDashlet, self).get_context_data(**kwargs)


class AttendanceAdminListDashlet(AdminListDashlet):
    require_permissions = ('attendance.change_studentattendance',)

class SisDashboard(Dashboard):
    app = 'sis'
    dashlets = [
        EventsDashlet(title="School Events"),
        ViewStudentDashlet(title="Student"),
        ReportBuilderDashlet(title="Starred Reports", model=Report),
        AnnouncementsDashlet(title="Announcements"),
        AttendanceSubmissionPercentageDashlet(title="Attendance Report"),
        AttendanceDashlet(title="Recent Attendance"),
        AttendanceLinksListDashlet(title="Links"),
        AttendanceReportBuilderDashlet(title="Attendance Reports",),
        AttendanceAdminListDashlet(title="Attendance", app_label="attendance"),
        AdminListDashlet(title="School Information", app_label="sis"),
    ]


dashboards.register('sis', SisDashboard)
示例#4
0
class OmrMyTestsDashlet(Dashlet):
    """ Show's a teachers OMR tests """
    template_name = "/omr/my_tests_dashlet.html"
    columns = 3
    responsive = False
    required_perms = ('omr.teacher_test', )

    def get_context_data(self, **kwargs):
        context = super(OmrMyTestsDashlet, self).get_context_data(**kwargs)
        try:
            teacher = Faculty.objects.get(username=self.request.user.username)
            tests = Test.objects.filter(teachers=teacher)
            context = dict(context.items() + {
                'tests': tests,
            }.items())
        except:
            messages.warning(self.request, "You are not a teacher!")
        return context


class OmrDashboard(Dashboard):
    app = 'omr'
    dashlets = [
        OmrMyTestsDashlet(title="My Tests"),
        AdminListDashlet(title="OMR Admin", app_label="omr"),
        OmrReportBuilderDashlet(title="Report Builder"),
    ]


dashboards.register('omr', OmrDashboard)
示例#5
0

# this is not a dashlet shown on default
class AdmissionsReportsDashlet(Dashlet):
    template_name = "/admissions/reports_dashlet.html"
    columns = 1
    require_permissions = ('admissions.change_applicant', )

    def get_context_data(self, **kwargs):
        context = super(AdmissionsReportsDashlet,
                        self).get_context_data(**kwargs)
        report_form = ReportForm()
        template_form = TemplateReportForm()
        context = dict(context.items() + {
            'report_form': report_form,
            'template_form': template_form,
        }.items())
        return context


class DisciplineDashboard(Dashboard):
    app = 'discipline'
    dashlets = [
        DisciplineDashlet(title="Latest Discipline"),
        ReportBuilderDashlet(title="Reports", ),
        AdminListDashlet(title="Discipline", app_label="discipline"),
    ]


dashboards.register('discipline', DisciplineDashboard)
示例#6
0

class AdmissionsReportsDashlet(Dashlet):
    template_name = "/admissions/reports_dashlet.html"
    columns = 1
    require_permissions = ('admissions.change_applicant', )

    def get_context_data(self, **kwargs):
        context = super(AdmissionsReportsDashlet,
                        self).get_context_data(**kwargs)
        report_form = ReportForm()
        template_form = TemplateReportForm()
        context = dict(context.items() + {
            'report_form': report_form,
            'template_form': template_form,
        }.items())
        return context


class AdmissionsDashboard(Dashboard):
    app = 'admissions'
    dashlets = [
        ApplicantDashlet(title="Newest Applicants"),
        ReportBuilderDashlet(title="Reports", ),
        AdminListDashlet(title="Edit", app_label="admissions"),
        AdmissionsReportsDashlet(title="Admissions Reports"),
    ]


dashboards.register('admissions', AdmissionsDashboard())
        Tests that the testuser was found.
        """
        response = self.client.get('/tests/dashboard/')
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'testuser', html=True)
        self.assertContains(response, '*****@*****.**', html=True)


class UserListDashlet(ListDashlet):
    """Sample model list dashlet."""
    model = User
    fields = ('username', 'email', 'is_superuser')
    columns = 2
    count = 8
    require_permissions_or = ('admin.change_user', 'admin.view_user')
    order_by = ('-id',)


class TestDashboard(Dashboard):
    """Sample dashboard."""
    app = 'tests'
    title = "Tests"
    dashlets = [
        AdminListDashlet(title="User Management", app_label="auth"),
        UserListDashlet(title="User List"),
        LinksListDashlet(title="Links")
    ]


dashboards.register('tests', TestDashboard)
示例#8
0

class GradesDashlet(Dashlet):
    template_name = 'schedule/grade_dashlet.html'
    require_apps = ('ecwsp.grades',)
    require_permissions_or = ('grades.check_own_grade', 'grades.change_grade',)

    def get_context_data(self, **kwargs):
        context = super(GradesDashlet, self).get_context_data(**kwargs)
        today = datetime.date.today()
        marking_periods = MarkingPeriod.objects.filter(end_date__gte=today).order_by('start_date')
        if marking_periods:
            marking_period = marking_periods[0]
            due_in = (marking_period.end_date - today).days
        else:
            due_in = None
        context['due_in'] = due_in
        return context


class CourseDashboard(Dashboard):
    app = 'schedule'
    dashlets = [
        CourseDashlet(title="Courses"),
        GradesDashlet(title="Grades"),
        AdminListDashlet(title="Schedule", app_label="schedule"),
        AdminListDashlet(title="GradesList", verbose_name="Grades", app_label="grades"),
    ]

dashboards.register('schedule', CourseDashboard)
示例#9
0
    show_custom_link = '/admin/report_builder/report/?root_model__app_label=attendance'
    custom_link_text = "Reports"
    def get_context_data(self, **kwargs):
        self.queryset = Report.objects.filter(root_model__app_label='attendance')
        # Show only starred when there are a lot of reports
        if self.queryset.count() > self.count:
            self.queryset = self.queryset.filter(starred=self.request.user)
        return super(ReportBuilderDashlet, self).get_context_data(**kwargs)


class AttendanceAdminListDashlet(AdminListDashlet):
    require_permissions = ('attendance.change_studentattendance',)

class ProfileDashboard(Dashboard):
    app = 'Profiles'
    dashlets = [
        EventsDashlet(title="School Events"),
        ViewStudentDashlet(title="Student"),
        ReportBuilderDashlet(title="Starred Reports", model=Report),
        AnnouncementsDashlet(title="Announcements"),
        AttendanceSubmissionPercentageDashlet(title="Attendance Report"),
        AttendanceDashlet(title="Recent Attendance"),
        AttendanceLinksListDashlet(title="Links"),
        AttendanceReportBuilderDashlet(title="Attendance Reports",),
        AttendanceAdminListDashlet(title="Attendance", app_label="attendance"),
        AdminListDashlet(title="Profile Information", app_label="profiles"),
    ]


dashboards.register('student', ProfileDashboard)
示例#10
0
        return super(ReportBuilderDashlet, self).get_context_data(**kwargs)


# this is not a dashlet shown on default
class AdmissionsReportsDashlet(Dashlet):
    template_name = "/admissions/reports_dashlet.html"
    columns = 1
    require_permissions = ('admissions.change_applicant',)
    
    def get_context_data(self, **kwargs):   
        context = super(AdmissionsReportsDashlet, self).get_context_data(**kwargs)
        report_form = ReportForm()
        template_form = TemplateReportForm()
        context = dict(context.items() + {
            'report_form': report_form,
            'template_form': template_form,
        }.items())
        return context


class DisciplineDashboard(Dashboard):
    app = 'discipline'
    dashlets = [
        DisciplineDashlet(title="Latest Discipline"),
        ReportBuilderDashlet(title="Reports",),
        AdminListDashlet(title="Discipline", app_label="discipline"),
    ]


dashboards.register('discipline', DisciplineDashboard)
示例#11
0
            'perm': ('alumni.change_alumni'),
        },
    ]


class AlumniReportBuilderDashlet(ReportBuilderDashlet):
    """ django-report-builder starred reports """
    show_custom_link = '/admin/report_builder/report/?root_model__app_label=alumni'
    custom_link_text = "Reports"

    def get_context_data(self, **kwargs):
        self.queryset = Report.objects.filter(root_model__app_label='alumni')
        # Show only starred when there are a lot of reports
        if self.queryset.count() > self.count:
            self.queryset = self.queryset.filter(starred=self.request.user)
        return super(ReportBuilderDashlet, self).get_context_data(**kwargs)


class AlumniDashboard(Dashboard):
    app = 'alumni'
    dashlets = [
        AlumniDashlet(title="Alumni"),
        AlumniLinksListDashlet(title="Links"),
        AlumniNoteDashlet(title='Latest Notes'),
        AlumniReportBuilderDashlet(title="Reports", ),
        AdminListDashlet(title="Edit", app_label="alumni"),
    ]


dashboards.register('alumni', AlumniDashboard())
示例#12
0
    def get_context_data(self, **kwargs):
        self.queryset = Report.objects.filter(
            root_model__app_label='attendance')
        # Show only starred when there are a lot of reports
        if self.queryset.count() > self.count:
            self.queryset = self.queryset.filter(starred=self.request.user)
        return super(ReportBuilderDashlet, self).get_context_data(**kwargs)


class AttendanceAdminListDashlet(AdminListDashlet):
    require_permissions = ('attendance.change_studentattendance', )


class ProfileDashboard(Dashboard):
    app = 'Profiles'
    dashlets = [
        EventsDashlet(title="School Events"),
        ViewStudentDashlet(title="Student"),
        ReportBuilderDashlet(title="Starred Reports", model=Report),
        AnnouncementsDashlet(title="Announcements"),
        AttendanceSubmissionPercentageDashlet(title="Attendance Report"),
        AttendanceDashlet(title="Recent Attendance"),
        AttendanceLinksListDashlet(title="Links"),
        AttendanceReportBuilderDashlet(title="Attendance Reports", ),
        AttendanceAdminListDashlet(title="Attendance", app_label="attendance"),
        AdminListDashlet(title="Profile Information", app_label="profiles"),
    ]


dashboards.register('student', ProfileDashboard)
示例#13
0
        return super(ReportBuilderDashlet, self).get_context_data(**kwargs)


class AdmissionsReportsDashlet(Dashlet):
    template_name = "/admissions/reports_dashlet.html"
    columns = 1
    require_permissions = ('admissions.change_applicant',)
    
    def get_context_data(self, **kwargs):   
        context = super(AdmissionsReportsDashlet, self).get_context_data(**kwargs)
        report_form = ReportForm()
        template_form = TemplateReportForm()
        context = dict(context.items() + {
            'report_form': report_form,
            'template_form': template_form,
        }.items())
        return context


class AdmissionsDashboard(Dashboard):
    app = 'admissions'
    dashlets = [
        ApplicantDashlet(title="Newest Applicants"),
        ReportBuilderDashlet(title="Reports",),
        AdminListDashlet(title="Edit", app_label="admissions"),
        AdmissionsReportsDashlet(title="Admissions Reports"),
    ]


dashboards.register('admissions', AdmissionsDashboard())
示例#14
0
            messages.warning(
                self.request,
                'No active year set. Please create an active year!')
            return context

        form = ReportBuilderForm(
            initial={
                'custom_billing_begin': active_year.start_date,
                'custom_billing_end': active_year.end_date
            })
        template_form = ReportTemplateForm()
        context = dict(context.items() + {
            'form': form,
            'template_form': template_form,
        }.items())
        return context


class WorkStudyDashboard(Dashboard):
    app = 'work_study'
    dashlets = [
        ReportBuilderDashlet(title="Reports", ),
        WorkStudyReportsDashlet(title="Work Study Reports"),
        TimeSheetDashlet(title="Time Sheets", ),
        WorkStudyAttendanceDashlet(title="Work Study Attendance"),
        AdminListDashlet(title="Edit Work Study", app_label="work_study"),
    ]


dashboards.register('work_study', WorkStudyDashboard)
示例#15
0
    fields = ('display_students', 'date', 'category', 'reported_by')
    first_column_is_link = True
    count = 8
    columns = 2


class ReferralFormDashlet(ListDashlet):
    model = ReferralForm
    require_permissions = ('counseling.change_referralform',)
    fields = ('classroom_teacher', 'date', 'student',)
    first_column_is_link = True
    count = 8



class CounselingAdminListDashlet(AdminListDashlet):
    require_permissions = ('counseling.change_studentmeeting',)


class CounselingDashboard(Dashboard):
    app = 'counseling'
    dashlets = [
        CounselingLinksListDashlet(title="Links"),
        StudentMeetingDashlet(title="Student Meetings"),
        ReferralFormDashlet(title="Referrals"),
        CounselingAdminListDashlet(title="Edit", app_label="counseling"),
    ]


dashboards.register('counseling', CounselingDashboard())
示例#16
0
    columns = 2


class ReferralFormDashlet(ListDashlet):
    model = ReferralForm
    require_permissions = ('counseling.change_referralform', )
    fields = (
        'classroom_teacher',
        'date',
        'student',
    )
    first_column_is_link = True
    count = 8


class CounselingAdminListDashlet(AdminListDashlet):
    require_permissions = ('counseling.change_studentmeeting', )


class CounselingDashboard(Dashboard):
    app = 'counseling'
    dashlets = [
        CounselingLinksListDashlet(title="Links"),
        StudentMeetingDashlet(title="Student Meetings"),
        ReferralFormDashlet(title="Referrals"),
        CounselingAdminListDashlet(title="Edit", app_label="counseling"),
    ]


dashboards.register('counseling', CounselingDashboard())
示例#17
0
            'desc': 'Import Student Clearinghouse data file',
            'perm': ('alumni.change_alumni'),
        },
    ]


class AlumniReportBuilderDashlet(ReportBuilderDashlet):
    """ django-report-builder starred reports """
    show_custom_link = '/admin/report_builder/report/?root_model__app_label=alumni'
    custom_link_text = "Reports"
    def get_context_data(self, **kwargs):
        self.queryset = Report.objects.filter(root_model__app_label='alumni')
        # Show only starred when there are a lot of reports
        if self.queryset.count() > self.count:
            self.queryset = self.queryset.filter(starred=self.request.user)
        return super(ReportBuilderDashlet, self).get_context_data(**kwargs)


class AlumniDashboard(Dashboard):
    app = 'alumni'
    dashlets = [
        AlumniDashlet(title="Alumni"),
        AlumniLinksListDashlet(title="Links"),
        AlumniNoteDashlet(title='Latest Notes'),
        AlumniReportBuilderDashlet(title="Reports",),
        AdminListDashlet(title="Edit", app_label="alumni"),
    ]


dashboards.register('alumni', AlumniDashboard())
示例#18
0
            'perm': ('sis.reports',),
        },
        {
            'text': 'Engrade Sync',
            'link': annoying_link,
            'perm': ('sis.reports',),
            'required_apps': ('engrade_sync',),
        },
        {
            'text': 'Change School Year',
            'link': reverse_lazy('sis.views.increment_year'),
            'desc': '',
            'perm': ('sis.change_student', 'sis.change_schoolyear'),
        },
    ]


class AdminDashboard(Dashboard):
    app = 'administration'
    dashlets = [
        LogEntryDashlet(title="Latest Actions"),
        AdminListDashlet(title="User Management", app_label="auth"),
        AdminListDashlet(title="SIS Management", app_label="administration"),
        EngradeSyncListDashlet(title="Engrade Sync", app_label="engrade_sync"),
        AdministrationLinksListDashlet(title="Links"),
        ReportBuilderDashlet(title="Report Builder"),
    ]


dashboards.register('administration', AdminDashboard)
示例#19
0
            'perm': ('profiles.reports',),
        },
        {
            'text': 'Engrade Sync',
            'link': annoying_link,
            'perm': ('profiles.reports',),
            'required_apps': ('engrade_sync',),
        },
        {
            'text': 'Change School Year',
            'link': reverse('profiles.views.increment_year'),
            'desc': '',
            'perm': ('profiles.change_student', 'profiles.change_schoolyear'),
        },
    ]


class AdminDashboard(Dashboard):
    app = 'administration'
    dashlets = [
        LogEntryDashlet(title="Latest Actions"),
        AdminListDashlet(title="User Management", app_label="auth"),
        AdminListDashlet(title="Profile Management", app_label="administration"),
        EngradeSyncListDashlet(title="Engrade Sync", app_label="engrade_sync"),
        AdministrationLinksListDashlet(title="Links"),
        ReportBuilderDashlet(title="Report Builder"),
    ]


dashboards.register('administration', AdminDashboard)
示例#20
0
    def get_context_data(self, **kwargs):
        context = super(CourseDetailDashlet, self).get_context_data(**kwargs)
        courses = Course.objects.filter(
            sections__marking_period__school_year__active_year=True)
        if self.request.user.has_perm('schedule.change_course'):
            context['change_course'] = True
        else:
            context['change_course'] = False
            courses = courses.filter(sections__teachers=self.request.user)
        context['courses'] = courses

        return context


class CourseDashboard(Dashboard):
    app = 'schedule'
    dashlets = [
        CourseSectionDashlet(title="Course Sections"),
        #CourseDetailDashlet(title="Courses"),
        GradesDashlet(title="Grades"),
        AdminListDashlet(title="Schedule", app_label="schedule"),
        AdminListDashlet(title="GradesList",
                         verbose_name="Grades",
                         app_label="grades"),
        AttendanceDashlet(title="Attendance Reports")
    ]


dashboards.register('schedule', CourseDashboard)
示例#21
0
class OmrMyTestsDashlet(Dashlet):
    """ Show's a teachers OMR tests """
    template_name = "/omr/my_tests_dashlet.html"
    columns = 3
    responsive = False
    required_perms = ('omr.teacher_test',)
    
    def get_context_data(self, **kwargs):
        context = super(OmrMyTestsDashlet, self).get_context_data(**kwargs)
        try:
            teacher = Faculty.objects.get(username=self.request.user.username)
            tests = Test.objects.filter(teachers=teacher)
            context = dict(context.items() + {
                'tests': tests,
            }.items())
        except:
            messages.warning(self.request, "You are not a teacher!")
        return context
    

class OmrDashboard(Dashboard):
    app = 'omr'
    dashlets = [
        OmrMyTestsDashlet(title="My Tests"),
        AdminListDashlet(title="OMR Admin", app_label="omr"),
        OmrReportBuilderDashlet(title="Report Builder"),
    ]


dashboards.register('omr', OmrDashboard)