diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/views.py')
-rw-r--r-- | bitbake/lib/toaster/toastergui/views.py | 22 |
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: |