Esempio n. 1
0
                    data['logo_bytes_base64'] = old_dict['logo_bytes_base64']
                    data['logo_mime_type'] = old_dict['logo_mime_type']

            entity.value = transforms.dumps(data)
            entity.is_draft = False
            entity.put()

            # is this necessary?
            models.EventEntity.record(
                'put-property', users.get_current_user(),
                transforms.dumps({
                    'name': name,
                    'before': str(old_value),
                    'after': str(entity.value)
                }))

        transforms.send_file_upload_response(self, 200, 'Saved.')


def register():
    SettingsEditor.add_to_menu('settings',
                               constants.MODULE_NAME,
                               COURSE_EXPLORER_SETTINGS.label,
                               sub_group_name='advanced')


namespaced_routes = utils.map_handler_urls([
    SettingsEditor,
    SettingsEditorRest,
])
Esempio n. 2
0
        chunk = models.ContentChunkDAO.get_one_by_uid(
            models.ContentChunkDAO.make_uid(item.type, key))
        if chunk is None:
            self.abort(404)

        self.response.headers['Last-Modified'] = str(item.last_synced)
        # TODO(nretallack): implement if-modified-since check here

        if chunk.content_type == 'application/json':
            transforms.send_json_response(
                self, 200, 'ok', payload_dict=json.loads(chunk.contents))
        else:
            self.response.headers['Content-Type'] = str(chunk.content_type)
            self.response.write(chunk.contents)


global_routes = utils.map_handler_urls([
    cron.DriveCronHandler,
])

namespaced_routes = utils.map_handler_urls([
    DriveListHandler,
    DriveAddRESTHandler,
    DriveSyncHandler,
    DriveItemHandler,
    DriveItemRESTHandler,
    DriveContentHandler,
    DriveNotConfiguredHandler,
    DriveSyncJobHandler,
])
Esempio n. 3
0

def get_institution_name():
    try:
        return transforms.loads(settings.COURSE_EXPLORER_SETTINGS.value)[
            'institution_name']
    except (ValueError, KeyError):
        return ''


class ExplorerHandler(utils.ApplicationHandler, utils.QueryableRouteMixin):
    URL = ''

    @classmethod
    def can_handle_route_method_path_now(cls, route, method, path):
        return settings.GCB_ENABLE_COURSE_EXPLORER_PAGE.value

    def get(self):
        self.response.write(jinja_utils.get_template(
            'explorer.html', [constants.TEMPLATE_DIR], handler=self).render({
                'institution_name': get_institution_name(),
                'use_flattened_html_imports': (
                    appengine_config.USE_FLATTENED_HTML_IMPORTS),
            }))

global_routes = utils.map_handler_urls([
    ExplorerHandler,
])

namespaced_routes = []
        return transforms.loads(
            settings.COURSE_EXPLORER_SETTINGS.value)['institution_name']
    except (ValueError, KeyError):
        return ''


class ExplorerHandler(utils.ApplicationHandler, utils.QueryableRouteMixin):
    URL = ''

    @classmethod
    def can_handle_route_method_path_now(cls, route, method, path):
        return settings.GCB_ENABLE_COURSE_EXPLORER_PAGE.value

    def get(self):
        self.response.write(
            jinja_utils.get_template(
                'explorer.html', [constants.TEMPLATE_DIR],
                handler=self).render({
                    'institution_name':
                    get_institution_name(),
                    'use_flattened_html_imports':
                    (appengine_config.USE_FLATTENED_HTML_IMPORTS),
                }))


global_routes = utils.map_handler_urls([
    ExplorerHandler,
])

namespaced_routes = []
Esempio n. 5
0
    return False


def get_event_xsrf_token():
    return XsrfTokenManager.create_xsrf_token('event-post')


class GuideHandler(utils.ApplicationHandler, utils.QueryableRouteMixin):
    URL = 'modules/' + constants.MODULE_NAME

    @classmethod
    def can_handle_route_method_path_now(cls, route, method, path):
        return settings.GCB_ENABLE_GUIDE_PAGE.value

    def get(self):
        self.response.write(jinja_utils.get_template(
            'guide.html', [constants.TEMPLATE_DIR], handler=self).render({
                'event_xsrf_token': get_event_xsrf_token(),
                'can_record_student_events': (
                    get_can_record_student_events(self)),
                'use_flattened_html_imports': (
                    appengine_config.USE_FLATTENED_HTML_IMPORTS),
            }))


global_routes = utils.map_handler_urls([
    GuideHandler,
])

namespaced_routes = []
Esempio n. 6
0
def get_event_xsrf_token():
    return XsrfTokenManager.create_xsrf_token('event-post')


class GuideHandler(utils.ApplicationHandler, utils.QueryableRouteMixin):
    URL = 'modules/' + constants.MODULE_NAME

    @classmethod
    def can_handle_route_method_path_now(cls, route, method, path):
        return settings.GCB_ENABLE_GUIDE_PAGE.value

    def get(self):
        self.response.write(
            jinja_utils.get_template(
                'guide.html', [constants.TEMPLATE_DIR], handler=self).render({
                    'event_xsrf_token':
                    get_event_xsrf_token(),
                    'can_record_student_events':
                    (get_can_record_student_events(self)),
                    'use_flattened_html_imports':
                    (appengine_config.USE_FLATTENED_HTML_IMPORTS),
                }))


global_routes = utils.map_handler_urls([
    GuideHandler,
])

namespaced_routes = []
Esempio n. 7
0
                old_dict = transforms.loads(old_value)
                if (
                        'logo_bytes_base64' in old_dict and
                        'logo_mime_type' in old_dict):
                    data['logo_bytes_base64'] = old_dict['logo_bytes_base64']
                    data['logo_mime_type'] = old_dict['logo_mime_type']

            entity.value = transforms.dumps(data)
            entity.is_draft = False
            entity.put()

            # is this necessary?
            models.EventEntity.record(
                'put-property', users.get_current_user(), transforms.dumps({
                    'name': name,
                    'before': str(old_value), 'after': str(entity.value)}))

        transforms.send_file_upload_response(self, 200, 'Saved.')


def register():
    SettingsEditor.add_to_menu(
        'settings', constants.MODULE_NAME, COURSE_EXPLORER_SETTINGS.label,
        sub_group_name='advanced')


namespaced_routes = utils.map_handler_urls([
    SettingsEditor,
    SettingsEditorRest,
])
Esempio n. 8
0
            self.abort(404)

        self.response.headers['Last-Modified'] = str(item.last_synced)
        # TODO(nretallack): implement if-modified-since check here

        if chunk.content_type == 'application/json':
            transforms.send_json_response(self,
                                          200,
                                          'ok',
                                          payload_dict=json.loads(
                                              chunk.contents))
        else:
            self.response.headers['Content-Type'] = str(chunk.content_type)
            self.response.write(chunk.contents)


global_routes = utils.map_handler_urls([
    cron.DriveCronHandler,
])

namespaced_routes = utils.map_handler_urls([
    DriveListHandler,
    DriveAddRESTHandler,
    DriveSyncHandler,
    DriveItemHandler,
    DriveItemRESTHandler,
    DriveContentHandler,
    DriveNotConfiguredHandler,
    DriveSyncJobHandler,
])