Skip to content
Snippets Groups Projects
Select Git revision
  • 69fa5fab04e35628399ecf3d87387e2d6b728272
  • main default protected
  • OZG-7986-mandat-anfragen
  • OZG-6978-prevent-other-pages-from-being-called
  • OZG-8378-ods-heading
  • optimize-storybook
  • OZG-8405-Alfa-Bearbeiter-auswählen-und-entfernen-Design
  • OZG-8314-Alfa-Vorgang-Bearbeiter-Zuweisung-entfernen
  • testing-imports
  • storybook-improvements
  • OZG-7287-forward-saml-token
  • release-administration
  • OZG-8422-BenutzerSpeichern
  • release-info
  • release
  • OZG-7856_schadcode-scanner-e2e
  • OZG-7985-fix-sorting
  • OZG-8305-Create-webpack-sbom
  • tooltip-improvements
  • OZG-7714-UpgradeKeycloakDependencyTo25
  • OZG-8086-Admin-Datenanfrage-erstellen
  • 1.12.1-administration
  • 1.12.0-administration
  • 1.12.0-info
  • 2.27.0-alfa
  • 1.11.0-info
  • 1.11.0-administration
  • 2.26.0-alfa
  • 1.10.0-info
  • 1.10.0-administration
  • 2.25.0-alfa
  • 1.9.0-info
  • 1.9.0-administration
  • 2.24.0-alfa
  • 1.8.0-info
  • 1.8.0-administration
  • 2.23.0-alfa
  • 1.7.0-info
  • 1.7.0-administration
  • 2.22.0-alfa
  • 1.6.0-info
41 results

admin-settings.module.ts

Blame
  • action.py 1.71 KiB
    import logging
    from ckan.logic.action.create import package_create, user_create, group_member_create
    import ckan.model as model
    import ckan.lib.dictization.model_dictize as model_dictize
    import ckan.plugins.toolkit as toolkit
    from ckan.lib.search.common import (
        make_connection, SearchError, SearchQueryError
    )
    import pysolr
    
    log = logging.getLogger(__name__)
    
    
    def odsh_package_create(context, data_dict):
        munge_increment_name(data_dict)
        return package_create(context, data_dict)
    
    
    def munge_increment_name(data_dict):
        from ckan.lib.munge import munge_title_to_name
    
        name_base = name = munge_title_to_name(data_dict['title'])
        pkg = model.Package.get(name)
        i = 0
        while pkg:
            i += 1
            name = name_base + str(i)
            pkg = model.Package.get(name)
        log.debug('name: %s' % name)
        data_dict['name'] = name
    
    
    def odsh_user_create(context, data_dict):
        model = context['model']
        user = user_create(context, data_dict)
        groups = toolkit.get_action('group_list')(data_dict={'all_fields': False})
        for group in groups:
            group_member_create(context, {'id': group, 'username': user.get('name'), 'role': 'member'})
        return model_dictize.user_dictize(model.User.get(user.get('name')), context)
    
    
    def autocomplete(self, q):
        query = {
            'spellcheck.q': q,
            'wt': 'json'}
    
        conn = make_connection(decode_dates=False)
        log.debug('Suggest query: %r' % query)
        try:
            solr_response = conn.search('', search_handler='suggest', **query)
        except pysolr.SolrError as e:
            raise SearchError('SOLR returned an error running query: %r Error: %r' %
                              (query, e))
    
        suggest = solr_response.raw_response.get('spellcheck')
        return suggest