예제 #1
0
    def test_get_site_for_org(self):
        """
        Test that get_value_for_org returns correct value for any given key.
        """
        # add SiteConfiguration to database
        config1 = SiteConfigurationFactory.create(
            site=self.site,
            values=self.test_config1,
        )
        config2 = SiteConfigurationFactory.create(
            site=self.site2,
            values=self.test_config2,
        )

        # Make sure entry is saved and retrieved correctly
        self.assertEqual(
            SiteConfiguration.get_configuration_for_org(
                self.test_config1['course_org_filter']),
            config1,
        )
        self.assertEqual(
            SiteConfiguration.get_configuration_for_org(
                self.test_config2['course_org_filter']),
            config2,
        )
        self.assertEqual(
            SiteConfiguration.get_configuration_for_org('something else'),
            None,
        )
예제 #2
0
    def test_get_site_for_org(self):
        """
        Test that get_value_for_org returns correct value for any given key.
        """
        # add SiteConfiguration to database
        config1 = SiteConfigurationFactory.create(
            site=self.site,
            values=self.test_config1,
        )
        config2 = SiteConfigurationFactory.create(
            site=self.site2,
            values=self.test_config2,
        )

        # Make sure entry is saved and retrieved correctly
        self.assertEqual(
            SiteConfiguration.get_configuration_for_org(self.test_config1['course_org_filter']),
            config1,
        )
        self.assertEqual(
            SiteConfiguration.get_configuration_for_org(self.test_config2['course_org_filter']),
            config2,
        )
        self.assertEqual(
            SiteConfiguration.get_configuration_for_org('something else'),
            None,
        )
예제 #3
0
def generate_ics_files_for_user_course(course, user,
                                       user_calendar_sync_config_instance):
    """
    Generates ics-formatted bytestrings of all assignments for a given course and user.

    To pretty-print each bytestring, do: `ics.decode('utf8').replace('\r\n', '\n')`

    Returns a dictionary of ics files, each one representing an assignment.
    """
    assignments = get_course_assignments(course.id, user)
    platform_name = get_value('platform_name', settings.PLATFORM_NAME)
    platform_email = get_value('email_from_address',
                               settings.DEFAULT_FROM_EMAIL)
    now = datetime.now(pytz.utc)
    site_config = SiteConfiguration.get_configuration_for_org(course.org)

    ics_files = {}
    for assignment in assignments:
        ics_files[assignment.title] = generate_ics_for_event(
            now=now,
            organizer_name=platform_name,
            organizer_email=platform_email,
            start=assignment.date,
            title=assignment.title,
            course_name=course.display_name_with_default,
            uid=get_calendar_event_id(user, str(assignment.block_key), 'due',
                                      site_config.site.domain),
            config=user_calendar_sync_config_instance,
        )

    return ics_files
예제 #4
0
 def _site_from_org(cls, org):
     configuration = SiteConfiguration.get_configuration_for_org(org, select_related=['site'])
     if configuration is None:
         try:
             return Site.objects.get(id=settings.SITE_ID)
         except Site.DoesNotExist:
             return RequestSite(crum.get_current_request())
     else:
         return configuration.site
예제 #5
0
 def _site_from_org(cls, org):
     configuration = SiteConfiguration.get_configuration_for_org(org)
     if configuration is None:
         try:
             return Site.objects.get(id=settings.SITE_ID)
         except Site.DoesNotExist:
             return RequestSite(crum.get_current_request())
     else:
         return configuration.site
예제 #6
0
    def _site_from_org(cls, org):  # lint-amnesty, pylint: disable=missing-function-docstring

        configuration = SiteConfiguration.get_configuration_for_org(org, select_related=['site'])
        if configuration is None:
            try:
                return Site.objects.get(id=settings.SITE_ID)
            except Site.DoesNotExist:
                return RequestSite(crum.get_current_request())
        else:
            return configuration.site