Projet

Général

Profil

0001-environment-add-service-creation-api-31449.patch

Christophe Siraut, 21 juin 2019 13:10

Télécharger (1,86 ko)

Voir les différences:

Subject: [PATCH] environment: add service creation api (#31449)

 hobo/environment/urls.py  |  2 ++
 hobo/environment/views.py | 13 +++++++++++++
 2 files changed, 15 insertions(+)
hobo/environment/urls.py
1 1
from django.conf.urls import url
2
from django.views.decorators.csrf import csrf_exempt
2 3

  
3 4
from .views import *
4 5

  
......
19 20
    url(r'^new-variable-(?P<service>\w+)/(?P<slug>[\w-]+)$',
20 21
        VariableCreateView.as_view(), name='new-variable-service',),
21 22
    url(r'^debug.json$', debug_json, name='debug-json'),
23
    url(r'^api/create/(?P<service>[a-z]+)/$', csrf_exempt(ServiceCreateApi), name='api-create-service'),
22 24
]
hobo/environment/views.py
104 104
        return reverse_lazy('environment-home')
105 105

  
106 106

  
107
def ServiceCreateApi(request, service):
108
    from django.http import JsonResponse
109
    if request.method != 'POST' or service not in [s.Extra.service_id for s in AVAILABLE_SERVICES]:
110
        return JsonResponse({'error': 1, 'data': {'message': ''}})
111
    form_class = getattr(forms, service.title() + 'Form')
112
    form = form_class(request.POST)
113
    if form.is_valid():
114
        form.save()
115
        return JsonResponse({'error': 0, 'data': {'id': form.id}})
116
    else:
117
        return JsonResponse({'error': 1, 'data': {'message': 'form not valid'}})
118

  
119

  
107 120
class ServiceCreateView(CreateView):
108 121
    success_url = reverse_lazy('environment-home')
109 122

  
110
-