From d443ceb7d589b4cb7a31cfdb1f0cf4ecb7408255 Mon Sep 17 00:00:00 2001 From: Serghei MIHAI Date: Tue, 3 Feb 2015 18:31:30 +0100 Subject: [PATCH] services parameters updated. Default 64x64 icon added automatically on group creation --- ckanext/ozwillo_organization_api/plugin.py | 22 ++++++++++++++++-- .../public/organization_icon.png | Bin 0 -> 4198 bytes 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 ckanext/ozwillo_organization_api/public/organization_icon.png diff --git a/ckanext/ozwillo_organization_api/plugin.py b/ckanext/ozwillo_organization_api/plugin.py index 358d6f5..cda1437 100644 --- a/ckanext/ozwillo_organization_api/plugin.py +++ b/ckanext/ozwillo_organization_api/plugin.py @@ -2,6 +2,7 @@ from hashlib import sha1 import hmac import requests import logging +import json import ckan.plugins as plugins import ckan.plugins.toolkit as toolkit @@ -87,6 +88,10 @@ def create_organization(context, data_dict): action='read', id=org_dict['name'], qualified=True) + default_icon_url = toolkit.url_for(host=request.host, + qualified=True, + controller='home', + action='index') + 'organization_icon.png' group_or_org_create(context, org_dict, is_org=True) @@ -94,13 +99,22 @@ def create_organization(context, data_dict): # setting organization as active explicitely group = model.Group.get(org_dict['name']) group.state = 'active' + group.image_url = default_icon_url group.save() # notify about organization creation services = {'services': [{ 'local_id': 'organization', - 'name': 'Organization ' + org_dict['name'] + ' on CKAN', + 'name': , org_dict['name'], 'service_uri': organization_uri, + 'description': 'Organization ' + org_dict['name'] + ' on CKAN', + 'tos_uri': organization_uri, + 'policy_uri': organization_uri, + 'icon': group.image_url, + 'payment_option': 'FREE', + 'target_audience': ['PUBLIC_BODIES'], + 'contacts': [organization_uri], + 'redirect_uris': [organization_uri], 'visible': True}], 'instance_id': instance_id, 'destruction_uri': delete_uri, @@ -113,7 +127,7 @@ def create_organization(context, data_dict): headers = {'Content-type': 'application/json', 'Accept': 'application/json'} requests.post(registration_uri, - data = services, + data=json.dumps(services), auth=(client_id, client_secret), headers=headers ) @@ -134,6 +148,10 @@ class OzwilloOrganizationApiPlugin(plugins.SingletonPlugin): API for OASIS to create and delete an organization """ plugins.implements(plugins.IActions) + plugins.implements(plugins.IConfigurer) + + def update_config(self, config): + toolkit.add_public_directory(config, 'public') def get_actions(self): return { diff --git a/ckanext/ozwillo_organization_api/public/organization_icon.png b/ckanext/ozwillo_organization_api/public/organization_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5ef461fe3d34e56983279bf5ca82fff4eb7cc9 GIT binary patch literal 4198 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 z