|
@@ -5,6 +5,7 @@ from django.conf import settings
|
|
|
from tastypie.resources import Resource
|
|
|
from tastypie.utils import trailing_slash
|
|
|
from simplejson import JSONDecodeError
|
|
|
+from core.models.request import Request
|
|
|
from api.utils.odoo_api import (
|
|
|
normalize_name,
|
|
|
check_name,
|
|
@@ -43,7 +44,13 @@ class OdooResource(Resource):
|
|
|
except KeyError:
|
|
|
name = None
|
|
|
|
|
|
+ r = Request.objects.create(name='Crear contenedor Odoo')
|
|
|
+
|
|
|
if not name:
|
|
|
+ r.issue = 'name is required'
|
|
|
+ r.status = 5
|
|
|
+ r.save()
|
|
|
+
|
|
|
return self.create_response(request, {
|
|
|
'error_message': 'name is required'
|
|
|
})
|
|
@@ -53,6 +60,10 @@ class OdooResource(Resource):
|
|
|
name_exists = check_name(name)
|
|
|
|
|
|
if name_exists:
|
|
|
+ r.issue = 'name is already exists'
|
|
|
+ r.status = 5
|
|
|
+ r.save()
|
|
|
+
|
|
|
return self.create_response(request, {
|
|
|
'error_message': 'name is already exists'
|
|
|
})
|
|
@@ -64,6 +75,10 @@ class OdooResource(Resource):
|
|
|
folders_created = create_folders(name)
|
|
|
|
|
|
if not folders_created:
|
|
|
+ r.issue = 'folders structure cannot be created'
|
|
|
+ r.status = 5
|
|
|
+ r.save()
|
|
|
+
|
|
|
return self.create_response(request, {
|
|
|
'error_message': 'folders structure cannot be created'
|
|
|
})
|
|
@@ -72,6 +87,10 @@ class OdooResource(Resource):
|
|
|
conf_created = create_configuration(name)
|
|
|
|
|
|
if not conf_created:
|
|
|
+ r.issue = 'configuration cannot be created'
|
|
|
+ r.status = 5
|
|
|
+ r.save()
|
|
|
+
|
|
|
return self.create_response(request, {
|
|
|
'error_message': 'configuration cannot be created'
|
|
|
})
|
|
@@ -80,6 +99,10 @@ class OdooResource(Resource):
|
|
|
db_created = create_database(name)
|
|
|
|
|
|
if not db_created:
|
|
|
+ r.issue = 'database cannot be created'
|
|
|
+ r.status = 5
|
|
|
+ r.save()
|
|
|
+
|
|
|
return self.create_response(request, {
|
|
|
'error_message': 'database cannot be created'
|
|
|
})
|
|
@@ -88,12 +111,29 @@ class OdooResource(Resource):
|
|
|
odoo_created = create_odoo_container(name, [port])
|
|
|
|
|
|
if not odoo_created:
|
|
|
+ r.issue = 'odoo container cannot be created'
|
|
|
+ r.status = 5
|
|
|
+ r.save()
|
|
|
+
|
|
|
return self.create_response(request, {
|
|
|
'error_message': 'odoo container cannot be created'
|
|
|
})
|
|
|
|
|
|
- apply_permissions(name)
|
|
|
+ # Apply permissions
|
|
|
+ permissions_applied = apply_permissions(name)
|
|
|
+
|
|
|
+ if not permissions_applied:
|
|
|
+ r.issue = 'odoo container cannot be started'
|
|
|
+ r.status = 5
|
|
|
+ r.save()
|
|
|
+
|
|
|
+ return self.create_response(request, {
|
|
|
+ 'error_message': 'odoo container cannot be started'
|
|
|
+ })
|
|
|
|
|
|
+ r.status = 4
|
|
|
+ r.save()
|
|
|
+
|
|
|
return self.create_response(request, {
|
|
|
'action': {
|
|
|
'type': 'redirect',
|