- print "edit_descriptor"
- result = OsmProject.edit_descriptor(descriptor_type, descriptor_id, request.POST.get('text'),
- request.POST.get('type'))
- response_data = {
- 'project_id': project_id,
- 'descriptor_type': descriptor_type,
- #'project_overview_data': projects[0].get_overview_data(),
- 'alert_message': {
- 'success': True if result else False,
- 'message': "Descriptor modified." if result else 'Error during descriptor editing.'}
- }
- status_code = 200 if result else 500
- response = HttpResponse(json.dumps(response_data), content_type="application/json", status=status_code)
- response["Access-Control-Allow-Origin"] = "*"
- return response
-
- elif request.method == 'GET':
- csrf_token_value = get_token(request)
- project_overview = OsmProject.get_overview_data()
- print project_overview
- prj_token = project_overview['type']
- page = prj_token + '/descriptor/descriptor_view.html'
-
- descriptor = OsmProject.get_descriptor(descriptor_id, descriptor_type)
-
- descriptor_string_json = json.dumps(descriptor)
- descriptor_string_yaml = Util.json2yaml(descriptor)
- # print descriptor
- return render(request, page, {
- 'project_id': project_id,
- 'descriptor_id': descriptor_id,
- 'project_overview_data': OsmProject.get_overview_data(),
- 'descriptor_type': descriptor_type,
- 'descriptor_strings': {'descriptor_string_yaml': descriptor_string_yaml,
- 'descriptor_string_json': descriptor_string_json}})
-
-
-# OSM specific method #
-def get_package_files_list(request, project_id, project, descriptor_id, descriptor_type):
- files_list = []
- try:
- files_list = project.get_package_files_list(descriptor_type, descriptor_id)
- result = {'files': files_list}
- except Exception as e:
- print e
- url = 'error.html'
- result = {'error_msg': 'Unknown error.'}
- return __response_handler(request, result)
-
-
-def download_pkg(request, project_id, descriptor_id, descriptor_type):
- tar_pkg = OsmProject.download_pkg(descriptor_id, descriptor_type)
-
- response = HttpResponse(content_type="application/tgz")
- response["Content-Disposition"] = "attachment; filename=osm_export.tar.gz"
- response.write(tar_pkg.getvalue())
- return response
-
-
-def create_ns(request, project_id, project, descriptor_id, descriptor_type):
- files_list = []
- try:
- ns_data={
- "nsName": request.POST.get('nsName', 'WithoutName'),
- "nsDescription": request.POST.get('nsDescription', ''),
- "nsdId": request.POST.get('nsdId', ''),
- "vimAccountId": request.POST.get('vimAccountId', ''),
- "ssh-authorized-key": [
- {
- request.POST.get('key-pair-ref', ''): request.POST.get('keyValue', '')
- }
- ]
- }
- #result = project.create_ns(descriptor_type, descriptor_id, ns_data)
+ user = osmutils.get_user(request)
+ client = Client()
+ project_dict = request.POST.dict()
+ keys = ["name"]
+ project_data = dict(filter(lambda i: i[0] in keys and len(i[1]) > 0, project_dict.items()))
+ result = client.project_edit(user.get_token(), project_id, project_data)
+ if isinstance(result, dict) and 'error' in result and result['error']:
+ return __response_handler(request, result['data'], url=None,
+ status=result['data']['status'] if 'status' in result['data'] else 500)
+ else:
+ return __response_handler(request, {}, url=None, status=200)