Пример #1
0
    def delete(self, id):
        context = {
            'model': model,
            'session': model.Session,
            'user': c.user or c.author
        }

        try:
            check_access('page_delete', context, {})
        except NotAuthorized:
            abort(404, _('Page not found'))

        page_dict = logic.get_action('page_delete')(context, {'id': id})
        test = True if config.get('ckan.site_id') == 'test.ckan.net' else False
        if not test:
            lunr.buildIndex(
                'ckanext-hdx_theme/ckanext/hdx_theme/fanstatic/search')

        vars = {
            'data': page_dict,
            'errors': {},
            'error_summary': {},
        }
        # h.redirect_to('/')
        return base.render('home/index.html', extra_vars=vars)
Пример #2
0
def _run_core_group_org_action(context, data_dict, core_action):
    '''
    Runs core ckan action with lunr update
    '''
    test = True if config.get('ckan.site_id') == 'test.ckan.net' else False
    result = core_action(context, data_dict)
    if not test:
        lunr.buildIndex('ckanext-hdx_theme/ckanext/hdx_theme/fanstatic/search')
    return result
Пример #3
0
def hdx_organization_create(context, data_dict):
    data_dict['type'] = 'organization'
    test = True if config.get('ckan.site_id') == 'test.ckan.net' else False
    result = hdx_group_or_org_create(context, data_dict, is_org=True)
    if not test:
        lunr.buildIndex('ckanext-hdx_theme/ckanext/hdx_theme/fanstatic/search')
    compile_less(result)

    hdx_generate_embedded_preview(result)
    return result
Пример #4
0
    def new(self, data=None, errors=None, error_summary=None):

        context, extra_vars = self._init_data(data, error_summary, errors)

        try:
            check_access('page_create', context, {})
        except NotAuthorized:
            abort(401, _('Not authorized to see this page'))

        # checking pressed button
        active_page = request.params.get('save_custom_page')
        draft_page = request.params.get('save_as_draft_custom_page')
        state = active_page or draft_page

        # saving a new page
        if request.POST and state and not data:

            if state:
                try:
                    check_access('page_create', context, {})
                except NotAuthorized:
                    abort(401, _('Not authorized to see this page'))
                except Exception, e:
                    error_summary = e.error_summary
                    return self.error_message(error_summary)

                page_dict = self._populate_sections()

                try:
                    created_page = get_action('page_create')(context,
                                                             page_dict)
                    test = True if config.get(
                        'ckan.site_id') == 'test.ckan.net' else False
                    if not test:
                        lunr.buildIndex(
                            'ckanext-hdx_theme/ckanext/hdx_theme/fanstatic/search'
                        )
                except logic.ValidationError, e:
                    errors = e.error_dict
                    error_summary = e.error_summary
                    return self.new(page_dict, errors, error_summary)
                mapped_action = self.generate_action_name(
                    created_page.get("type"))
                h.redirect_to(mapped_action,
                              id=created_page.get("name")
                              or created_page.get("id"))
Пример #5
0
    def edit(self, id, data=None, errors=None, error_summary=None):

        context, extra_vars = self._init_data(data, error_summary, errors)

        try:
            check_access('page_update', context, {})
        except NotAuthorized:
            abort(404, _('Page not found'))

        # checking pressed button
        active_page = request.params.get('save_custom_page')
        draft_page = request.params.get('save_as_draft_custom_page')
        delete_page = request.params.get('delete_custom_page')
        state = active_page or draft_page

        # saving a new page
        if request.POST and (state or delete_page) and not data:
            if state:
                page_dict = self._populate_sections()
                try:
                    updated_page = get_action('page_update')(context,
                                                             page_dict)
                    test = True if config.get(
                        'ckan.site_id') == 'test.ckan.net' else False
                    if not test:
                        lunr.buildIndex(
                            'ckanext-hdx_theme/ckanext/hdx_theme/fanstatic/search'
                        )
                except logic.ValidationError, e:
                    errors = e.error_dict
                    error_summary = e.error_summary
                    return self.edit(id, page_dict, errors, error_summary)
                mapped_action = self.generate_action_name(
                    updated_page.get("type"))
                h.redirect_to(mapped_action,
                              id=updated_page.get('name')
                              or updated_page.get('id'))
            elif delete_page:
                h.redirect_to(
                    controller=
                    'ckanext.hdx_pages.controllers.custom_page:PagesController',
                    action='delete',
                    id=id)