summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rw-r--r--bitbake/lib/toaster/toastergui/views.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index 4939b6b1f4..c712b06a6e 100644
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -1398,7 +1398,9 @@ if True:
1398 mandatory_fields = ['projectname', 'ptype'] 1398 mandatory_fields = ['projectname', 'ptype']
1399 try: 1399 try:
1400 ptype = request.POST.get('ptype') 1400 ptype = request.POST.get('ptype')
1401 if ptype == "build": 1401 if ptype == "import":
1402 mandatory_fields.append('importdir')
1403 else:
1402 mandatory_fields.append('projectversion') 1404 mandatory_fields.append('projectversion')
1403 # make sure we have values for all mandatory_fields 1405 # make sure we have values for all mandatory_fields
1404 missing = [field for field in mandatory_fields if len(request.POST.get(field, '')) == 0] 1406 missing = [field for field in mandatory_fields if len(request.POST.get(field, '')) == 0]
@@ -1415,14 +1417,22 @@ if True:
1415 login(request, user) 1417 login(request, user)
1416 1418
1417 # save the project 1419 # save the project
1418 if ptype == "analysis": 1420 if ptype == "import":
1419 release = None 1421 if not os.path.isdir('%s/conf' % request.POST['importdir']):
1422 raise BadParameterException("Bad path or missing 'conf' directory (%s)" % request.POST['importdir'])
1423 from django.core import management
1424 management.call_command('buildimport', '--command=import', '--name=%s' % request.POST['projectname'], '--path=%s' % request.POST['importdir'], interactive=False)
1425 prj = Project.objects.get(name = request.POST['projectname'])
1426 prj.merged_attr = True
1427 prj.save()
1420 else: 1428 else:
1421 release = Release.objects.get(pk = request.POST.get('projectversion', None )) 1429 release = Release.objects.get(pk = request.POST.get('projectversion', None ))
1430 prj = Project.objects.create_project(name = request.POST['projectname'], release = release)
1431 prj.user_id = request.user.pk
1432 if 'mergeattr' == request.POST.get('mergeattr', ''):
1433 prj.merged_attr = True
1434 prj.save()
1422 1435
1423 prj = Project.objects.create_project(name = request.POST['projectname'], release = release)
1424 prj.user_id = request.user.pk
1425 prj.save()
1426 return redirect(reverse(project, args=(prj.pk,)) + "?notify=new-project") 1436 return redirect(reverse(project, args=(prj.pk,)) + "?notify=new-project")
1427 1437
1428 except (IntegrityError, BadParameterException) as e: 1438 except (IntegrityError, BadParameterException) as e: